Çok karışıkım, çok fazla ekler eklemek için boş yere çalışıyorum. Bunu yapmak için binlerce eklentim var, bu yüzden sadece veritabanını gerçekten bir kez yapmak istiyorum.EF savechanges için aşırı yüküm yok ve herhangi bir kabuldeğişim mevcut değil
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 ??
}
}
:
Ben System.Data.Objects için .net 4 ve taraf çerçeve 4. ve ayrıca ilave referansı kullanıyorum ama hala SaveChanges
buradaiçin kullanılabilir aşırı yüklenme benim kodudur Bu gerçekten kafamı çarpıyor, bu yüzden herhangi bir yardım çok takdir edilecek.
sayesinde
hmmmmm, ben eve gidince ben daha sonra bu çalışacağız güzel teşekkürler – davethecoder
Hi, bu işe yaramazsa, Yukarıdaki kullanımı myDbContext bir özellik olması gerekiyor hakkında bir inilti almak. myDbContext için bir objectContext özelliği ekledim ve sonra şunu kullandım: using (ObjectContext context = new myDContext(). ObjectContext()) ancak şimdi nasıl ekleneceğini bilmiyorum context.AddObject ("Ürünler", tempProduct); HATA: Temel sağlayıcı Open'da başarısız oldu. – davethecoder
EF'in hangi sürümünü kullanıyorsunuz? En son, –