Estoy muy confundido, intento en vano hacer cola en varias inserciones, tengo miles de adiciones para hacer, así que solo quiero hacer la base de datos una vez.No tengo sobrecarga para los cambios de EF, y no hay cambios aceptables disponibles
estoy usando .NET 4 y 4 marco de la entidad y referencia también añadido a system.data.objects pero todavía no tengo ninguna sobrecarga disponible en SaveChanges
aquí está mi código:
using (TransactionScope scope = new TransactionScope())
{
using (myDbContext context = new myDbContext)
{
foreach (var p in model)
{
var tempProduct = new Products();
// set a loopable list of available products
IEnumerable<MerchantProductFeedMerchantProd> prod = p.prod;
foreach (var i in prod)
{
var prodText = i.text.FirstOrDefault();
var prodUri = i.uri.FirstOrDefault();
var prodPrice = i.price.FirstOrDefault();
FillTempProduct(feedId, i, tempProduct, supplierId, feedInfo, prodPrice, prodText,
prodUri);
context.Products.Add(tempProduct);
context.SaveChanges(false); // no overload
}
scope.Complete();
context.AcceptAllChanges(); //acceptallchanges not referenced ??
}
}
esto realmente está maltratando mi cabeza ahora, por lo que cualquier ayuda sería muy apreciada.
gracias
hmmmmm, agradables Voy a tratar esto más adelante cuando llegue a casa, gracias – davethecoder
Hola, esto no funciona, si sólo uso el anterior me da un gemido sobre myDbContext que necesita ser una propiedad. así que para myDbContext agregué una propiedad objectContext y luego usé esto: using (ObjectContext context = new myDContext(). ObjectContext()) pero no sé cómo agregarle ahora context.AddObject ("Products", tempProduct); ERROR: el proveedor subyacente falló en Abierto. – davethecoder
¿Qué versión de EF estás usando? –