2014-03-03 3 views
0

나는 주 사용자 테이블에 조인 된 테이블에서 데이터를 가져 오려고 시도했습니다. 두 번째 테이블은 이미지를 저장하는 것입니다. 아래에 게시 된 현재 코드는 ImagePath 필드를 가져올 때 테이블의 ImageID 만 반환합니다. 사용자가 많은 이미지를 추가 할 수 있으므로 별도의 테이블임을 유의하십시오. 테이블 조인 및 양쪽에서 데이터 가져 오기

은 모델입니다 :

[Table("accountInfo")] // Table name 
public class accountInfo 
{ 
    [Key] 
    public int AccountID { get; set; } 
    public int UserId { get; set; } 
    public int UserIdent { get; set; } 
    public string LastName { get; set; } 
    public string FirstName { get; set; }  
    public virtual ICollection<UserImages > UserImages { get; set; } 
} 

[Table("UserImages")] // Table name 
public class UserImages 
{ 
    [Key] 
    public int ImageID { get; set; } 
    public int AccountID { get; set; } 
    public string ImagePath { get; set; } 
    public string ImageDesc { get; set; } 
    public int ProfileImage { get; set; } 
} 

컨트롤러 : 내가 설정 한 모델이 잘못 될 가정입니다

public ActionResult Index() 
{ 
    int id = (int)WebSecurity.CurrentUserId; 
    var users = db.AccountInformation.Include(c => c.UserImages).Where(c => c.UserId == id); 

    return View(users.ToList());     
} 

. 누구든지 도와 줄 수 있습니까?

+0

"accountInfo"및 "AccountInformation"테이블이 있습니까? – siddharth

+0

저는 시각적 인 webdevelopers 스캐 폴딩을 사용했습니다. 이것은 accountInfo와 직접 연관되어있는 것 같습니다. – user2029541

답변

0
var a = db.AccountInformation.Include(c => c.UserImages.Select(x => x.AccountId)).Where(c => c.UserId == id); 
+0

'람다 식을 델리게이트 형식이 아니기 때문에 문자열을 입력 할 수 없습니다.' – user2029541

+0

@ user2029541 수정 된 답변 –

+0

람다 오류를 제거한 스캇 덕분에 여전히 액세스 할 수없는보기에서 같은 문제가 발생합니다. ImagePath 필드. 그것은 현재 상황의 일부가 아니라고 말하고 있는가? 나는 면도날을 사용하고 있습니다 - @html DisplayFor (modelItem => item.Imagepath) – user2029541

관련 문제