0

我的数据库中有一个表。

此表有一个名为 A 的列,该列不是实体或自动编号、唯一键或...

我使用 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();
        }

我不想在我的表中使用身份号码或索引。当我想在其中插入一行时,它给了我这个错误:

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

您要么必须为表提供主键(您似乎不想这样做),要么需要提供一个函数来告诉 Entity Framework 如何将数据插入数据库。

我强烈建议你在你的表上放一个主键,除非你有很好的理由不这样做,而且在我这些年里,我想不出有很多例子是我想要一个没有主键的表。

如果您根本不需要主键,那么您可能会发现这篇文章对使用存储过程将数据插入数据库很有用:http: //msdn.microsoft.com/en-us/data/gg699321.aspx

于 2013-01-06T16:26:03.367 回答