0

在 Entity Framework 4.2 中,我试图将一个值插入到没有 PK 的表中。EF给我以下错误:

无法更新 EntitySet 'ConditionTypesForWebApplications',因为它有一个 DefiningQuery 并且 <ModificationFunctionMapping> 元素中不存在 <InsertFunction> 元素来支持当前操作。

从下面的讨论中,我了解到可以通过编辑 edmx 文件来调整它,但是当您使用DbContext类时,这不是最好的情况。

如何将具有外键的表更新到 ADO.Net 实体模型中的另一个表?

有没有更好的方法来实现这一点?

4

1 回答 1

1

与 EDMX相同DbContextDbContext没有 EDMX 根本不支持没有键的实体)。没有键的实体是只读的,除非您手动更改 EDMX 文件(请注意,数据库中的任何更新模型都会删除您的更改,除非您购买更高级的 EDMX 编辑工具),或者您将创建存储过程并将其映射到实体的插入功能.

简而言之,实体应该有密钥,因为 EF 应该能够唯一地识别它。否则,您可能会在应用程序中遇到其他问题。

于 2011-12-29T18:20:20.727 回答