2 개의 테이블에 1-1 관계가 있습니다.LINQ에서 .Include()를 사용하여 하위 테이블 엔터티를 속성에 전달하려고합니다. 부모 테이블의 필드와 함께 자식 테이블 필드를 표에 바인딩 할 수 있습니다. 원래는 이렇게 잘 작동하고 그리드에 바인딩 할 수 있지만 BUGroupBuildings 테이블에서만 결과를 얻을 수 있습니다. 또한 vwBuisnessUnits 테이블의 필드에 바인딩해야합니다.Silverlight 4 (RIA 포함) - 테이블 필드를 표로 결합했습니다.
Load operation failed for query 'GetBusinessUnitsBasedOnGroupID'. A specified Include path is not valid. The EntityType 'EQUITYDWModel.BUGroupBuilding' does not declare a navigation property with the name 'vwBuisnessUnits'
여기 내 기업의
내가 추가 한 : 나는 to bring back child table fields을 포함 사용하는 전환하면
public IQueryable<BUGroupBuilding> GetBusinessUnitsBasedOnGroupID(int i)
{
var result = from d in this.ObjectContext.BUGroupBuildings
join b in this.ObjectContext.vwBusinessUnits on d.BU equals b.BU
where d.BUGroupID == i
orderby d.BU ascending
select d;
return result;
}
, 나는
public IQueryable<BUGroupBuilding> GetBusinessUnitsBasedOnGroupID(int i)
{
var result = from d in this.ObjectContext.BUGroupBuildings
.Include("vwBuisnessUnits")
select d;
result = result.Where(w => w.BUGroupID == i).OrderBy(o => o.vwBusinessUnit.BU);
return result;
}
가 ERROR 오류를 얻을 메타 데이터에 필요한 [Include].
[MetadataTypeAttribute(typeof(BUGroupBuilding.BUGroupBuildingMetadata))]
public partial class BUGroupBuilding
{
internal sealed class BUGroupBuildingMetadata
{
// Metadata classes are not meant to be instantiated.
private BUGroupBuildingMetadata()
{
}
public string BU { get; set; }
[Include]
public BUGroup BUGroup { get; set; }
public int BUGroupBuildingsID { get; set; }
public Nullable<int> BUGroupID { get; set; }
[Include]
public vwBusinessUnit vwBusinessUnit { get; set; }
}
}
탐색 속성이 vwBusinessUnit 인 경우 왜'.Include ("vwBuisnessUnits")'를 사용합니까? 철자? – Zabavsky
vwBusinessUnits가 내 자식 테이블 이름입니다. Inlcude에서 내비게이션 이름을 사용한다고 가정합니까? – stevenjmyu
Include ("vwBusinessUnit")로 업데이트되었지만 'GetBusinessUnitsBasedOnGroupID'쿼리에 대해로드 작업을 수행하지 못했습니다. 지정한 포함 경로가 유효하지 않습니다. EntityType 'EQUITYDWModel.BUGroupBuilding'이 (가) 'vwBuisnessUnit'이라는 이름의 탐색 속성을 선언하지 않습니다. – stevenjmyu