【发布时间】:2011-08-18 18:16:14
【问题描述】:
我的数据库中有一个存储过程,它返回一个整数。我在我的模型中添加了一个函数导入。这出现在 EDMX 文件中:
<Function Name="GetTotalEntityCount" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="false" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" />
但是,实际上并没有为此生成任何方法。应该是顶级吧?
using (MyContext context = new MyContext())
{
context.MyMethodShouldBeRightHere();
}
Intellisense 中什么都没有出现,我浏览了 Designer.cs 文件,里面什么都没有,反映了 DLL……什么都没有。代码生成器只是没有生成任何代码来支持这个存储过程。
我在我的数据库中添加了另一个表并更新了模型,那个进来了,所以模型将更新,它只是专门忽略了这个存储过程。
我已经尝试了所有我能想到的东西,并且查阅了我能找到的所有资源,并且尽我所知,我做的一切都是正确的。
我使用的是 EF4,数据库优先。 (无论如何,我很确定版本。这显示在生成的文件中:
Runtime Version:4.0.30319.1
)
【问题讨论】:
-
所以你有没有从模型更新数据库(勾选存储过程),进入模型浏览器,在那里看到存储过程,右键单击,添加功能导入。你都做到了吗?
-
查看 Andiih 回答下的评论。
-
我也有同样的问题。标量函数显示在模型浏览器的存储部分中的存储过程下,但不在类型部分中。我尝试添加函数导入,但它没有显示在存储过程下拉列表中。这是来自 MSFT 的Answer(非常没用),用于类似的问题。感谢这方面的任何帮助。谢谢
标签: entity-framework entity-framework-4