0

次のエラーが表示されます: 一意のインデックス 'in_name' を持つオブジェクトに重複するキー行を挿入できません 何が問題なのですか?

var ing = (from x in db.tblTable where x.ing_name == ing_name select x);
var ing1 = ing.First();
ing1.ing_name = ing1.ing_name + " (" + FormatC(ing_brand) + ")";
db.SaveChanges();            

そして、ここに FormatC があります:

public static string FormatC(string str)
    {
        if (!string.IsNullOrEmpty(str))
            return str.Substring(0, 1).ToUpper() + "" + str.Substring(1).ToLower();
        else
            return "";
    }
4

1 に答える 1

-1

からこの回答を得ました - https://www.sqlservercentral.com/forums/topic/cannot-insert-duplicate-key-row-in-object-with-unique-index-on-duplicate-foreing-key

SQL Server はデフォルトで、インデックス付きフィールドを設定して一意の値のみを許可することがわかりました。これを確認するには、デザインでテーブルを開き、[インデックスとキーの管理] オプションを選択します。一覧表示されたインデックス/キーを選択し、[一意] プロパティの適切な [はい]/[いいえ] ドロップダウンをオンにします。

于 2022-01-25T13:55:22.080 に答える