首先使用ef4.1代码定义标量函数?

时间:2011-10-10 18:09:47

标签: entity-framework entity-framework-4 ef-code-first code-first

我有一个名为distance的函数我希望在标量值函数中定义它以通过linq调用它 如果首先要通过EF4.1代码做到这一点?

2 个答案:

答案 0 :(得分:1)

没有。代码优先被设计为“代码优先”=你将创建一个代码,它将创建一个没有数据库逻辑的数据库(没有视图,存储过程,触发器或函数)。因此,它完全缺少用于映射数据库逻辑(如函数和存储过程)的功能。如果要在LINQ中使用它,则必须放弃code-first / fluent-API并开始使用支持EDMX的EDMX。

答案 1 :(得分:0)

使用ExecuteSqlCommand和输出参数应该为标量存储过程执行技巧

var outParam = new SqlParameter("overHours", SqlDbType.Int);
outParam.Direction = ParameterDirection.Output;

var data = context.Database.ExecuteSqlCommand("dbo.sp_getNumberJobs @overHours OUT", outParam);
int numJobs = (int)outParam.Value;