3

我有一个实体,它使用存储过程的Insert方法。插入操作工作正常,但我目前无法删除记录。我收到此错误:

System.Data.Entity.Infrastructure.DbUpdateException:System.Data.Entity.Infrastructure.DbUpdateException:在映射文件中找不到实体类型“LoanDetail”的 DeleteFunctionMapping。---> System.Data.UpdateException:在映射文件中找不到实体类型“LoanDetail”的 DeleteFunctionMapping。

我在 Julie Lerman 的书中读到,不再需要为所有方法指定 procs。这是 4.x 版的一个特性,现在又被收紧了吗?

4

1 回答 1

1

至少在 Beta 版中,这似乎是一个问题。请查看以下 MSDN 线程:

http://social.msdn.microsoft.com/Forums/en-US/silverlightwcf/thread/9a59afab-a760-4e28-abad-cef34b3a712e/

其中还引用了这篇文章:

http://www.code-magazine.com/article.aspx?quickid=0911121&page=3

简而言之,在 EF5 中进行 SP 映射时必须牢记两个基本注意事项:

  1. 您不能映射包含 ComplexTypes 的函数实体
  2. 如果您映射了更新,但没有删除,您将得到一个 UpdateException,如您所描述的。

所以是的,至少就 Beta 而言,这是一个已经重新收紧的约束。

于 2013-03-27T20:08:28.903 回答