通过将包含CommandText元素的函数元素添加到.edmx文件的存储模式定义语言(SSDL)中,可以在存储模型中定义自定义函数。CommandText元素通常用于提供与存储过程类似的功能,但是存储过程是在.edmx文件中定义的,而不是在数据库中定义的。
( a)自定义函数只是将本机查询命令(此命令在CommandText元素中指定)发送到DB,还是向DB发送CREATE PROCEDURE命令(因此,在DB中创建的存储过程包含CommandText元素中指定的命令),然后调用此DB的存储过程?
( b)“存储过程是在edmx文件中定义的,而不是数据库”的确切含义是什么?也许该edmx文件包含一个蓝图,它将从中在DB中创建适当的存储过程?
谢谢
发布于 2011-11-03 08:01:42
“存储过程是在edmx文件中定义的,而不是数据库中定义的”这一短语使用的是‘类似于存储过程提供的存储过程’。
因此,如果要在数据库中创建一个存储过程并将其导入CSDL中,或者创建一个自定义函数并将其导入CSDL中,这对您的CSDL没有什么影响。
但是,如果您运行stored,您将看到CommandText是执行als的常规Sql,而不是存储过程。
https://stackoverflow.com/questions/7985984
复制相似问题