現在、プロジェクトを LINQ から SQL、LINQ から Entity に変更しています。次のエンティティがあります。
Customer -> Address
このメソッドを使用して、WCF Data Service async を介してデータベースにクエリを実行します。
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;
}
このエンティティに対してクエリを実行すると、Customer にアクセスできますが、アドレスはまだ null です。
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
データベースを確認しましたが、外部キーが正しく設定されています。アドレスが null なのはなぜですか? 別の方法でクエリを実行する必要がありますか? LINQ to SQL では関連エンティティにアクセスできましたが、これを LINQ to Entity でアーカイブするにはどうすればよいですか?