LINQ to SQL を使用したオブジェクト リレーショナル マッピングの味を得るためにいくつかのテストを行っていますが、多対多の関係を機能させようとして行き詰まりました。簡単にするために、注文されたProductsのコレクションを所有するOrderクラスがあるとします。LINQ to SQL を使用してこの製品コレクションをマップするにはどうすればよいですか?
[Table(Name = "OrderTable")]
public class Order
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int ID;
[Column]
public string Customer;
[Association(ThisKey = "ID", OtherKey = "ID")] // Not working
public EntitySet<Product> products = new EntitySet<Product>();
}
[Table(Name = "ProductTable")]
public class Product
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int ID;
[Column]
public string Name;
[Column]
public double Price;
}
OrderのProductsを保持するコンテナとしてEntitySetを使用しようとしましたが、LINQ クエリが空の製品コレクションを持つOrderオブジェクトを返すため、機能しませんでした。
PS: From This question注文と製品の関係を追跡するために 3 番目のクラスを作成する必要があるようですが、別のクラスを作成せずにそれを行う方法を見つけたいと思っていました。