项目使用Entity Framework实现数据访问,客户的SQL数据库中有一个返回标量值的自定义函数,花了些时间才找到如何通过Entity Framework来调用该函数:
该SQL函数名称为f_BuildFilter并有两个参数,返回值为字符类型。下面是调用该函数的代码:
private string GetFilterExpression(int filterID)
{
using (CEntities ce = Connection.Entities)
{
var query = ce.CreateQuery<string>("CModel.Store.f_BuildFilter(@FilterID,@ForAccess)");
query.Parameters.Add(new ObjectParameter("FilterID", filterID));
query.Parameters.Add(new ObjectParameter("ForAccess",false));
return query.Execute(MergeOption.AppendOnly).FirstOrDefault();
}
}