我在我的 .net 项目中编写了以下代码。我以前从未使用过 Entity Framework ,这是我要做的第一件事:执行一个函数并保存结果
using System.Data.Objects;
MyEntities entities = new MyEntities
var result0 = entities.CreateQuery<string>("SELECT XXX FROM Fn_Org_GetXXX('XXXX',2012);").first();
var result1 = entities.ExecuteFunction("fn_org_getXXX", new ObjectParameter[]
{
new ObjectParameter("location","XXXX"),
new ObjectParameter("fiscalyear",2012)
});
两行代码都抛出异常,表明该函数不存在。但是,当我在 SQL Server Management Studio 中运行上述代码时,它运行良好。我正在使用相同的凭据登录到 SQL 服务器。
result0 的错误是:
'Fn_Org_GetXXX' cannot be resolved into a valid type or function.
result1 的错误是:
The FunctionImport 'fn_org_getXXX' could not be found in the container 'MyEntities'.
我做错了什么?
最佳答案
我认为 Entity Framework 目前不支持 SQL 用户定义函数。这是一个 post您可以在 edmx 模式中定义它。
June 2011 CTP 有一些更新,但我认为它尚未发布。
关于.net - 为什么我不能使用 .net Entity Framework 执行 SQL 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9070029/