0

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

このテーブルには、A という名前の列が 1 つあります。この列は、エンティティまたは自動番号、一意のキー、または... ではありません。

Entity Framework 4.1 を使用してデータベースからモデルを作成しました。

私のコード

 using (var contex = new testEntities())
        {
            Table_1 t = new Table_1();
            t.A = 1;
            contex.Table_1.Add(t);
            contex.SaveChanges();
        }

テーブルで ID 番号またはインデックスを使用したくありません。行を挿入しようとすると、次のエラーが表示されます。

Unable to update the EntitySet 'Table_1' because it has a DefiningQuery and no 
<InsertFunction> element exists in the <ModificationFunctionMapping> element to
support the current operation.
4

1 に答える 1

1

テーブルに主キーを指定する必要があります(これは実行したくないようです)。または、データをデータベースに挿入する方法をEntityFrameworkに指示する関数を提供する必要があります。

これを行わない非常に正当な理由がない限り、テーブルに主キーを配置することを強くお勧めします。私の長年の間に、主キーのないテーブルが必要な場合はほとんど考えられません。

主キーがまったく必要ない場合は、データベースにデータを挿入するためのストアドプロシージャの使用について、次の記事が役立つ場合があります: http ://msdn.microsoft.com/en-us/data/gg699321.aspx

于 2013-01-06T16:26:03.367 に答える