【问题标题】:Entity FrameWork - Exception on SaveChanges实体框架 - SaveChanges 异常
【发布时间】:2011-09-17 18:50:20
【问题描述】:

我有这段代码保存了一个简单的实体:

ExecutionEngineEntities db = new ExecutionEngineEntities();
Task task = new Task();
task.Message = "Test";
task.Result = "Test";
task.Name = "Test";
db.Tasks.AddObject(task);
db.SaveChanges();

这是个例外:

A first chance exception of type 'System.Data.UpdateException' occurred in System.Data.Entity.dll
Unable to update the EntitySet 'Tasks' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.
The program '[6092] WebDev.WebServer40.EXE: Managed (v4.0.30319)' has exited with code 0 (0x0).

这是建表代码:

CREATE TABLE [dbo].[Tasks](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [Name] [nchar](50) NULL,
    [Message] [nchar](1000) NULL,
    [Result] [nchar](1000) NULL
) ON [PRIMARY]

谷歌搜索后发现出现此错误的模式人有关系问题,这不是我的情况

谢谢

【问题讨论】:

    标签: entity-framework savechanges


    【解决方案1】:

    或许这里的答案可以帮到你:It has a DefiningQuery but no InsertFunction element... err

    可能是在 EF 模型中配置此实体是视图而不是表。视图不支持创建、更新或删除操作,因此无法插入。

    【讨论】:

    • 谢谢,答案对我有所帮助,但我创建了一个表而不是视图......出了什么问题,我如何让 EF 将其视为表而不是视图?跨度>
    • 在我链接的答案中有另一个链接:blogs.msdn.com/b/alexj/archive/2009/09/01/… 它告诉您如何检查它是否配置为模型中的表格或视图
    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 2016-09-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多