2016-07-29 5 views
0

나는 현재 Asp.NET MVC를 배우고, 내가 Vs2015에서 상자 템플릿의 Ouf로 시작하지만 사용자 정의 테이블에서 데이터를 가져 오는 데 문제가VS 커뮤니티 2015 MVC 템플릿 -

목표 정의 모델에 액세스 할 수 없습니다 :

public virtual ICollection<UserContact> ContactsList { get; set; } 

그리고 t :

public class UserContact 
{   
    [Key] 
    public virtual int Id { get; set; } 

    public virtual ApplicationUser User { get; set; } 
    public virtual ApplicationUser Contact { get; set; } 
} 

나는 또한 내 응용 프로그램 사용자에게 다음과 같은 추가 : 내 목표는 다음과 같은 클래스를 사용하여 표준 ApplicationUser의 연락처 목록을 추가하는 것입니다 그는 내 ApplicationDbContext에 라인을 다음

public DbSet<UserContact> UserContacts { get; set; } 

문제는 그 내가 절을 전혀 인식되지 않습니다

ApplicationDbContext db = new ApplicationDbContext(); 

var UserId = SomUserID 
db.UserContacts.Where(x => x.User == UserId) 

를 사용하여 내 손님 컨트롤러 ContactController에서 USerContacts 테이블에 액세스하려고 할 때. 나는 useed 한 명령 수 있도록 마이그레이션

추가 마이그레이션 ContactsList 오류없이 실행 및 데이터베이스에 테이블이 지금

갱신 데이터베이스

. 하지만 테이블에 액세스 할 수 없습니다. 왜? 내가 도대체 ​​뭘 잘못하고있는 겁니까?

어디에요 기능은 내 경우

에 DbSet에서 사용할 수 없습니다 그리고 Vs2015와 비어있는 새 컨트롤러를 추가 할 때이 표준이기 때문에 LINQ를 가져온 것처럼 VS에 따라이 있습니다. 나는 내 컨트롤러

"DB를 사용할 때, IdentiyDbContext 클래스는 저에게 연락 클래스를 포함하여 다른 테이블에 액세스하지 않기 때문에 :

데이터베이스 업데이트 데이터베이스

중에 작성된 그러나 ApplicationDbContext은. UserContacts.Where < x => x.User == someID>(); "

x.User이 UserContact 클래스의 것임을 인식하지 못합니다.

답변

0

편집 : 내 질문에 많은 오타에 대한

using System.Linq; 

DbContext -> DbSet -> Where clause is missing (Entity Framework 6)

+0

Appologies : 나는 사용자가 사용하는 문 누락 된 스택 오버플로 게시물을 발견했다. 평등 오페라는 문제가 아닙니다. .Where() 함수는 사용 가능한 함수로 인식되지 않습니다. 하지만 내 질문을 수정합니다 – Brenketsu

+0

엔티티 프레임 워크를 사용하고 있습니까? 엔티티 프레임 워크를 사용할 때 dbcontext를 편집 할 필요가 없기 때문에 묻습니다. 대부분의 프로젝트에서 DB를 먼저 사용하지만 나에게 다이어그램으로 이동하고 왼쪽 클릭으로 데이터베이스에서 업데이트를 선택하면 새 DB 테이블이 추가되고 내 컨텍스트는 자동으로 업데이트됩니다. –

+0

예, EF를 사용하고 있습니다. 컨트롤러를 추가하고 비울 때 Linq를 표준으로 가져옵니다. – Brenketsu

관련 문제