2014-12-16 5 views
0

나는 내 데이터베이스에있는 모든 개체를 읽고 웹 API 컨트롤러를 사용하여 개체를 반환하려고합니다.EntityFramework6을 사용하여 개체 읽기

테이블에는 3 가지 레벨이 있습니다. 템플릿에는 단락 목록이 있고 단락에는 DataValues ​​목록이 있습니다.

템플릿을 읽고 단락이 용이 난 그냥 수행

Database db = new Database(); 
db.Configuration.ProxyCreationEnabled = false; 
db.Configuration.LazyLoadingEnabled = false; 
var aux = db.Templates.Include("Paragraphs"); 

내가이

var aux = db.Templates.Include("Paragraphs").Include("DataValues"); 

처럼 또한 DataVlues를 추가하면 나는이 메시지를 얻을 :

A specified Include path is not valid. The EntityType 'Database.Template' does not declare a navigation property with the name 'DataValues'. 

을 이 오류는 정상적인 일이지만,이 방법으로 DataValues를 읽는 방법도 알고 있습니까?

나는 EF에서이 값의 POCO 개체를 만들어야합니다 (POCO)

+0

Join()이 도움이된다면 어떤 아이디어가 필요할까요? –

답변

1

는 단락에 대한 탐색하게 proprty이며, 당신은 단지 템플릿을 위해, 그것은 첫 번째 수준 속성되지 않도록, 단락에서 액세스, 그렇게 될 코드를 변경할 수 있습니다

var aux = db.Templates 
.Include("Paragraphs") 
.Include("Paragraphs.DataValues"); 
+0

이 제품은 원했던 것처럼 작동합니다. –

0

탐색 속성은 관련 기관의 모음의 개체 유형이어야합니다. 일부 탐색 속성을 포함하면 현재 엔터티를 몇 개의 관련된 엔터티에 연결하는 것을 의미합니다. 이를 통해 단일 쿼리에서 여러 테이블의 데이터를 열심히로드 할 수 있습니다. DataValues이 탐색 속성이 아닙니다 - 그것은 필드이며, 기본적으로로드됩니다, 당신은 그것을 포함 할 필요가 없습니다 :

참고 : 탐색 속성을 포함 할 수 없습니다

복잡한 유형 (로 잘 외국 키) DataValues ​​때문에

+0

DataValue *는 내 모델의 테이블입니다. –