我目前正在将项目从 LINQ 更改为 SQL 到 LINQ 到 Entity。我有以下实体:
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 中存档?