現在、さまざまなシナリオで新しいエンティティ オブジェクトとダーティ エンティティ オブジェクトの両方が取り込まれた EntityCollection を保存しようとしています。
保存中に失敗した場合にロールバックするトランザクションを設定しました。
ただし、常に失敗するようで、エラーがスローされます...どちらの場合も、新規または既存の EntityCollection を保存します。
個々のエンティティ、つまり LanguagetranslationEntity を選択して、クラスのプロパティとして定義されている Entitycollection に追加するメソッドもあります。
public EntityCollection<LanguageTranslationEntity> LanguagetranslationCollection { get; set; }
public void AddLanguageTranslationToCollection(LanguageTranslationEntity prompt,bool isnew)
{
//Add the prompt to the collection
LanguagetranslationCollection.Add(prompt);
Isnewcollection = isnew;
}
ただし、以下に示すように、新しいエンティティまたは古いエンティティを保存しようとしているかどうかに関係なく、常に例外がスローされます。
アクション クエリの実行中に例外がキャッチされました: PRIMARY KEY 制約 'PK_LanguageTranslations' の違反。オブジェクト 'dbo.LanguageTranslations' に重複するキーを挿入できません。重複キーの値は (translation_10374, 1) です。
public void SaveLanguageTranslationCollection(DataAccessAdapter adapter)
{
using (DataAccessAdapter newadapter = adapter)
{
adapter.SaveEntityCollection(LanguagetranslationCollection);
}
}
各エンティティを個別に保存する必要がありますか?? また、SaveEntityCollection() をどのように使用すればよいですか?
例外がスローされたイベントでロールバックの目的でトランザクションを使用して、多数の LanguageTranslationEntities を EntityCollection に入力し、それらを一度に保存するために使用するつもりです。
親切に助けて