0
2つのlinqクエリがあります。ユニークなインデックスのために最初のクエリは何もしません。これは問題ありません。しかし、レコードを追加しなければならない間、2番目のものも何もしません。最初のクエリをバイパスする場合、2番目のクエリが機能します。エンティティを更新する必要がありますか?どうやって ?2番目のエンティティクエリがエラーで実行されます
foreach (var product in productList)
{
cc2nexo_SubiektProduct newproduct = new cc2nexo_SubiektProduct();
newproduct.Name = product.Name;
newproduct.VAT = product.VAT;
newproduct.Id = product.Id;
foreach (var stawkaVAT in myNexo_ExitoEntities.StawkiVat)
{
if (stawkaVAT.Stawka * 100 == tryconvert_dec(newproduct.VAT))
{
newproduct.VAT_Id = stawkaVAT.Id;
}
}
myNexo_ExitoEntities.cc2nexo_SubiektProduct.Add(newproduct);
SurroundWithTryCatchDB(() =>
{
myNexo_ExitoEntities.SaveChanges();
});
}
var orders = (from myorders in myNexo_ExitoEntities.temp_SubiektOrderList
select myorders).ToList();
foreach (var order in orders)
{
cc2nexo_SubiektOrderList neworder = new cc2nexo_SubiektOrderList();
neworder.Data_utworzenia_sprawy = tryconvert_date(order.Data_utworzenia_sprawy);
neworder.Data_modyfikacji_sprawy = tryconvert_date(order.Data_modyfikacji_sprawy);
neworder.Data_umowy = tryconvert_date(order.Data_umowy);
neworder.Id = order.Id;
myNexo_ExitoEntities.cc2nexo_SubiektOrderList.Add(neworder);
SurroundWithTryCatchDB(() =>
{
myNexo_ExitoEntities.SaveChanges();
});
Debug.WriteLine(neworder.LastName);
}
私はエラーに
を受け付けておりますが、オブジェクトに重複するキー行を挿入できません "dbo.cc2nexo_SubiektProductのユニークなインデックス「K_ID」で。重複キーの値は(1)です。ステートメントが終了しました
エラーメッセージは、重複するキー値があることを示します。この値はどこで決定されますか?そして、どのようにして各行にユニークなキーがあることを確認していますか? – danjp
2番目のクエリのみを実行すると、cc2nexo_SubiektOrderListに新しい行が追加されます。両方のクエリを実行すると、最初のクエリはproductListに行を追加しません(これはK_IDインデックスのためOKです)。最初のクエリの変更を保存する) – Jacek