Meine Tabellenstruktur ist diesbest practice/Weg für Master-Detail/multi Tabelle einfügen in Entity Framework
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
ich auf einen Einsatz Betrieb versuchen Entity Framework mit dem Code unter
Ist dies der beste Weg, den Einsatz machen?
Ich bin nicht zufrieden mit der Art und Weise bin ich das gesamte Produkt aus dem Kontext Objekt bekommen, anstatt der Lage zu sein, nur einen einfachen productId Wert zuweisen
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();
}
Ist dies der richtige Weg, um die Master-Detail zu tun einfügen oder gibt es einen besseren/anderen Weg.
fehlt 'AddTo' ... Danke! –
nrod