我目前正在将项目从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