私のテーブルの構造は、このベストプラクティス/方法
Orders
------
Id int identity
OrderDate smalldatetime
OrderStatusid tinyint
Products
--------
Id int identity
Name varchar(50)
OrderDetails
------------
Id int identity
OrderId int (fkey)
ProductId int (fkey)
Amount decimal
Rate decimal
である私は
以下のコードを使用してEntity Frameworkのを使用して挿入操作にしようとしていますこれが最善の方法です挿入物をするには?
私はコンテキストオブジェクトから完全な製品アイテムを取得する代わりに、単純なPRODUCTID値
using (MyContextEntities ctx = new MyContextEntities())
{
Orders newOrder = new Orders()
{
Name = "Gayle Wynand",
OrderDate = DateTime.Now,
IsComplete = true,
Comments = "test",
OrderStatusId = 2,
IsActive = true
};
OrderDetails ode = new OrderDetails();
ode.Products = ctx.Products.First(p => p.Id == 2); // any other way?
ode.Quantity = 2;
ode.Rate = 5.2;
newOrder.OrderDetails.Add(ode);
OrderDetails ode2 = new OrderDetails();
ode2.Products = ctx.Products.First(p => p.Id == 3); // any other way?
ode2.Quantity = 3;
ode2.Rate =6.5;
newOrder.OrderDetails.Add(ode2);
ctx.AddToOrders(newOrder);
ctx.SaveChanges();
}
を割り当てることができるというのですな方法で満足していないが、これはマスター・ディテールを行うための正しい方法です挿入するか、より良い/別の方法があります。
'AddTo' ...ありがとう! –
nrod