我正在使用BLToolkit库将我的SQL过程转换为Linq。
现在我遇到了一个小问题,所以如果有人知道这是可能的,我会非常感谢你的帮助。
无论如何我有sql查询看起来像这样(注意:这不是我的实际表名,我只是翻译它们,所以你们可以理解发生了什么)
select
P.ProductsID,
P.Name,
P.Description,
dbo.GetTax(P.TaxID, getdate()) -- this is what I need help with
from
Products P
除了我需要在当天为每件产品征税外,这里没什么特别的。
现在我需要将其转换为Linq,但我不知道这是否可能。我试过这样的事情
from p in Products
select new
{
p.ProductsID,
p.Name,
p.Description,
GetTax(p.TaxID, DateTime.Today) //this is what I need help with
}
它不起作用。 GetWork 功能只是另一个返回税的linq查询。我不知道如何使用BLToolkit库调用scallar函数。
所以问题是这个。是否可以从Linq选择的语句中调用标量函数?
答案 0 :(得分:4)
在某处定义以下功能。
[SqlFunction(ServerSideOnly=true)]
public static double GetTax(int id, DateTime dt)
{
throw new NotImplementedException();
}
它将告诉BLToolkit将GetTax转换为SQL。