使用自定义函数查询
上节介绍了解析绑定,自定义函数查询是在其基础上做了特殊绑定。定义一个方法并添加 FunctionBindAttribute
特性,并指定自定义的数据库函数名,注意方法的参数必须与自定义的数据库函数的入参一致。
public static class Funcs
{
[FunctionBind("testfun")]
public static bool TestFunc(int a1, long a2)
{
throw new InvalidOperationException("不能直接使用该方法。");
}
}
只需在 lambda
表达式里使用该方法即可。如以下示例:
[TestMethod]
public void TestFunction()
{
using (var db = new DbContext())
{
//调用自定义函数
var list = db.Products.Where(s => Funcs.TestFunc(3, s.ProductID));
}
}