5
我有一个DateTime类型的扩展方法,我想在我的Linq to Sql中使用它。不幸的是,做一个ToList()然后使用扩展方法不是一个选项。有没有办法将扩展方法映射到实际的SQL函数?Linq to SQL - 有没有办法将扩展方法映射到SQL函数/存储过程?
我有一个DateTime类型的扩展方法,我想在我的Linq to Sql中使用它。不幸的是,做一个ToList()然后使用扩展方法不是一个选项。有没有办法将扩展方法映射到实际的SQL函数?Linq to SQL - 有没有办法将扩展方法映射到SQL函数/存储过程?
不作为扩展方法,否;映射功能必须被称为从数据上下文实例功能,即
partial class MyDataContext
{
[Function(Name="MySqlFunctionName", IsComposable=true)]
public ReturnType FunctionName(...args...)
{ ... optional C# impl for AsEnumerable(),
else throw NotImplementedException... }
}
,并且在一些形式使用,例如:
using(var dc = new MyDataContext(...))
{
var qry = from ...
where dc.FunctionName(row.CreationDate) == 'Whatever'
...
}