나는 facebook과 비슷한 webapp을 구축 중입니다. 내가 만들어 내가 현재 로그인 한 사용자의 친구 게시물을 얻을 수 있도록 여기에 확인EF 쿼리, 무언가를 게시 한 친구로부터 사용자 이름 가져 오기
public User()
{
this.Friends = new HashSet<Friend>();
this.Friends1 = new HashSet<Friend>();
this.Posts = new HashSet<Post>();
}
public int userID { get; set; }
public System.Guid user_Unique_ID { get; set; }
public string username { get; set; }
public string profilePicUrl { get; set; }
public virtual ICollection<Friend> Friends { get; set; }
public virtual ICollection<Friend> Friends1 { get; set; }
public virtual ICollection<Post> Posts { get; set; }
public partial class Friend
{
public int friendshipID { get; set; }
public int userfrID { get; set; }
public int friendID { get; set; }
public virtual User User { get; set; }
public virtual User User1 { get; set; }
}
public partial class Post
{
public int postID { get; set; }
public int userpostID { get; set; }
public System.DateTime postedOn { get; set; }
public string text { get; set; }
public int likes { get; set; }
public virtual User User { get; set; }
}
내가이 시도 어떤 모델이 (페이스 북에서 비슷한에 "집") 데이터베이스를 조회 할 뷰 모델 : 모든 것이 현재 기록 된 사용자의 사용자 이름, f를에서가 아닌 사용자 이름을 표시 게시,
이using (var context = new ASPNETDBEntities())
{
MembershipUser x = Membership.GetUser();
User wad = context.Users.Where(u => u.user_Unique_ID == (System.Guid)x.ProviderUserKey).SingleOrDefault();
int id = wad.userID;
var allposts = (from u in db.Users
join f in db.Friends
on u.userID equals f.userfrID
where f.userfrID == id
join p in db.Posts
on f.friendID equals p.userpostID
select new HomePosts
{
friendID = f.friendID,
likes = p.likes,
postedOn = p.postedOn,
postID = p.postID,
text = p.text,
userfrID = f.userfrID,
userID = u.userID,
username = u.username, <-- this is the problem
userpostID = p.userpostID
}).OrderByDescending(u => u.postedOn).ToList();
return View(allposts);
}
문제는 여기
public class HomePosts
{
public int postID { get; set; }
public int userID { get; set; }
public int userpostID { get; set; }
public string username { get; set; }
public string text { get; set; }
public System.DateTime postedOn { get; set; }
public int likes { get; set; }
public int userfrID { get; set; }
public int friendID { get; set; }
}
및 내 쿼리입니다 그 게시물을 올린 친구. 포스터 (친구)의 사용자 이름이 필요합니다. 제안 사항이 있으십니까?
Ty, 첫 번째 답변은 – Milanix
내가 도와 드릴 수있어서 기쁩니다. – fenix2222