Mi mesa es estemejores prácticas/camino para el detalle maestro/Insertar varias mesas en 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
Estoy intentando una operación de inserción utilizando Entity Framework utilizando el código de abajo
¿Es esta la mejor manera para hacer la inserción?
No estoy contento con la forma en que estoy recibiendo el elemento completo del producto desde el objeto de contexto, en lugar de ser capaz de simplemente asignar un simple valor 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();
}
es esta la forma correcta de hacer el maestro detalle inserte o hay una mejor/otra forma.
falta 'AddTo' ... ¡Gracias! –
nrod