LINQ to ENTITY- 목록 템플릿 MVC 페이지에있을 때 모델의 다른 테이블에 도달 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/302650

문제

프로젝트 템플릿 솔루션 (Dynamic Data Web Application)에서 모델이 생성되었으며 모든 것이 좋습니다. - 테이블 목록과 선택 편집 등을 가져옵니다.

그러나 내 데이터베이스에는 Forgien 키가 포함 된 링크 테이블이 있습니다. 따라서 목록 템플릿에는 FK 값 만 표시됩니다.

diagram of the table

기본 테이블의 행 목록을 FK를 기반으로 한 다른 테이블을 검사 할 수있는 곳이 있습니까?

SQL에 가입하는 것과 더 비슷합니까? 그러나 linq2entity와 metamodel을 사용합니까?

아래는 list.aspx.cs- 표준 그리드를 EntityDatasource에 바인딩하는 것 같습니다. 그러나 이것은 MVC의 경로에 따라 현재 테이블에 있습니다.

그러나 보시다시피, 나는 다른 필드를 얻으려면 모델을 통해 사람, 역할 및 링크 테이블을 쿼리해야합니다.vstudio

ps 가능하면 Linq2entity로 이것을 시도하고 유지하려고합니다 -Grok에.

내가하고 싶은 자연스러운 일은 새로운 SQL 쿼리를 분사하여 값을 검색하는 것입니다. 그러나 이것은이 관용구에 있지 않습니다.

도움이 되었습니까?

해결책

DataContext를 통해 메타 모델을 참조 할 수 있습니다

MetaModel refMetaModel = MetaModel.GetModel(typeof(yourdataContextName));
MetaTable refMetaModel;
refMetaModel =  refMetaModel.GetTable("yourTableName");

추신은 코드를 보았고 이것은 Sceanrio에서 작동합니다. 모델에서 테이블을 얻은 다음 모델의 각 테이블에 대해 반환 된 데이터를 검사 할 수 있습니다.

메타 모델에 관한 MSDN 기사

다른 팁

LINQ에서 엔터티 모델로이를 사용하는 uselful-

DataContext를 사용하여 Acutal 데이터를 가장 유용하게 얻을 수 있습니다.

메타 모델은 데이터 모드에 액세스 할 수있어 기본 DDL 유형 정보를 제공합니다.

//use the datacontext to get the underlying data
      using (brrdbEntities brr = new brr_dbEntities())
      {
          ObjectQuery<person> people = brr.person;
          IQueryable<string> names = from p in people select p.person_name;
          foreach (var name    in names)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top