5
私は非常に混乱しています。私は何千もの追加をキューに入れようとしています。EF savechangesのオーバーロードがなく、acceptallchangesは使用できません。
私は をsystem.data.objectsには、.NET 4とエンティティフレームワーク4とも追加された参照を使用していますが、私はまだここのSaveChanges
ために利用可能な過負荷を持っていませんが、私のコードです:
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 ??
}
}
これは本当に私の頭を打っているので、どんな助けも大歓迎です。
おかげ
hmmmmm、私は家に帰ったときに私はこの後にしようとします素敵なおかげ – davethecoder
こんにちは、これは、動作しません。上記の私はmyDbContextについての不思議を取得する必要があるプロパティを使用します。だからmyDbContextに私はobjectContextプロパティを追加し、これを使用:using(ObjectContext context = new myDContext()。ObjectContext())しかし、私はそれを今追加する方法を知っていませんcontext.AddObject( "Products"、tempProduct);エラー:基本プロバイダーがOpenで失敗しました。 – davethecoder
EFのどのバージョンを使用していますか? –