我目前正在將項目從LINQ更改爲SQL,更改爲LINQ to Entity。我有以下實體:使用EF查詢數據不會返回所有實體
Customer -> Address
我通過WCF數據服務異步用此方法查詢我的數據庫:
public static async Task<IEnumerable<TResult>> ExecuteAsync<TResult>(this DataServiceQuery<TResult> query)
{
var queryTask = Task.Factory.FromAsync<IEnumerable<TResult>>(query.BeginExecute(null, null), (asResult) =>
{
var result = query.EndExecute(asResult);
return result;
});
return await queryTask;
}
如果我做這個實體的查詢,我可以訪問客戶,但地址仍爲空:
var query = (DataServiceQuery<Customer>)client.Customer.OrderBy(session => session.LastName);
var data = await query.ExecuteAsync();
Test2.Text = data.LastName(); //returns the lastname
Test2.Text = data.First().Address.Stret; //Address is Null
我檢查了數據庫並且外鍵設置正確。爲什麼地址是空的?我必須以另一種方式查詢嗎?在LINQ to SQL中,可以訪問相關的實體,我如何將它歸檔到LINQ to Entity中?
也許嘗試在構建查詢時對地址使用['Expand'](http://msdn.microsoft.com/en-us/library/ee358709.aspx)調用? – nkvu 2013-03-27 18:35:20
謝謝,擴大作品。如果您發佈答案,我會將其標記爲已接受。 – 2013-03-27 18:56:33