0

次のデータベース テーブルがあります。

Document Country (決して追加されません) DocumentLanguage

DocumentLanguage は、ID のみを含む Country と Document 間のリンク テーブルです。エンティティ デザイナーは (正しく) この aa ナビゲーション プロパティを追加します。

私のコードは次のとおりです。

 public void IdentifyLanguages(List<Country> languages)
    {
        foreach (Country c in languages)
        {
            foreach (var languageIdentifier in c.LanguageIdentifiers)
            {
                if (document.DocumentText.ToLower().Contains(languageIdentifier.LanguageIdentifier1.ToLower()))
                {                      
                   document.Countries.Add(c); 
                    break;
                }

            }
        }
    }

後でオブジェクトを保存します。

context.Document.AddObject(_document);
context.SaveChanges();

そして、次のエラーが表示されます。

EntityKey プロパティは、プロパティの現在の値が null の場合にのみ設定できます。

おそらく非常に明白な解決策があります。私はスタブオブジェクトを使用してアタッチを使用してみましたが、この要件を持った最初の人ではないことを確信しているので、簡単な解決策があるに違いありません!

4

1 に答える 1

0

AddObject を使用してオブジェクトを保存する場合、ドキュメントはデータベースに既に存在しますか? AddObject は新しいオブジェクトを追加するためのものであり、既存のものを更新するためのものではありません

于 2012-05-24T16:01:22.633 に答える