こんにちは、
私は典型的な例を取り上げます。私はCustomer
テーブルとPurchase
テーブルを持っており、顧客はいくつかの注文をすることができます。
ファイルを作成し、DBML
「サーバーエクスプローラーウィンドウ」の両方のテーブルからDBMLエディターにドロップすると、2つのエンティティが生成されますCustomers
。Purchases
私はいくつかのオブジェクトを持っています:
public interface IMyCustomer
{
int Id { get; set; }
string Code { get; set; }
string Firstname { get; set; }
string Lastname { get; set; }
List<IMyPurchase> Purchases { get; set; }
}
public class MyCustomer : IMyCustomer
{
public int Id { get; set; }
public string Code { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public List<IMyPurchase> Orders { get; set; }
}
public interface IMyPurchase
{
int Id { get; set; }
string Code { get; set; }
DateTime CreationDate { get; set; }
}
public class MyPurchase : IMyPurchase
{
public int Id { get; set; }
public string Code { get; set; }
public DateTime CreationDate { get; set; }
}
var result =
from customer in _dataContext.Customers
join order in _dataContext.Purchases on customer.Id equals order.IdCustomer
select new MyCustomer
{
Code = customer.Code,
Firstname = customer.Firstname,
Lastname = customer.Lastname,
Id = customer.Id,
Purchases = _dataContext.Purchases
.Select(x => x.IdCustomer == customer.Id)
.Cast<IMyPurchase>()
.ToList<IMyPurchase>()
};
linqクエリは機能します。結果のエントリについては、に関するすべての情報があります。customer
正しい行数がありPurchases
ますが、の各エントリの各プロパティPurchases
はnullです。Customer
情報とすべてをロードしたいpurchase
何か案が ?
ありがとう、