Entity framework 在实体框架中找不到存储过程的函数

Entity framework 在实体框架中找不到存储过程的函数,entity-framework,ado.net,Entity Framework,Ado.net,基于数据库myDB,我为所有表生成edmx并编译项目。然后在myDB中创建存储过程myProc。然后,我在节点存储过程中通过“从数据库更新模型”更新模型,并添加myProc。很好。然后在myProc上“创建函数导入”。很好。然后我编译了这个项目,很好 此导入函数的返回类型为标量(字符串),因为myProc返回字符串 然后我想对这个存储过程使用这个函数,但是我可以找到这个函数。 如何找到匹配函数并在代码中调用它?在EF 3.5中,只有返回实体的函数才会显示在ObjectServices中 即,导入

基于数据库myDB,我为所有表生成edmx并编译项目。然后在myDB中创建存储过程myProc。然后,我在节点存储过程中通过“从数据库更新模型”更新模型,并添加myProc。很好。然后在myProc上“创建函数导入”。很好。然后我编译了这个项目,很好

此导入函数的返回类型为标量(字符串),因为myProc返回字符串

然后我想对这个存储过程使用这个函数,但是我可以找到这个函数。
如何找到匹配函数并在代码中调用它?

在EF 3.5中,只有返回实体的函数才会显示在ObjectServices中

即,导入将函数拉入概念模型,但不会拉入代码生成

我们已经在4.0中解决了这个问题

同时,您可以使用eSQL调用该函数

i、 e.类似这样的代码(伪代码):

希望这有帮助


在EF 3.5中,只有返回实体的函数才会显示在ObjectServices中

即,导入将函数拉入概念模型,但不会拉入代码生成

我们已经在4.0中解决了这个问题

同时,您可以使用eSQL调用该函数

i、 e.类似这样的代码(伪代码):

希望这有帮助

亚历克斯

EntityConnection connection = ctx.Connection as EntityConnection;
//Open the connection if necessary
connection.Open()
//Create the command
EntityCommand command = new EntityCommand();
command.CommandText = "Function(@p1,@p2");
command.Parameters.Add(...);
command.Parameters.Add(...);
command.Connection = connection;
string s = command.ExecuteScalar().ToString();