我正在使用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库调用标量函数。
问题是这样的。是否可以从Linq选择语句调用标量函数?
在某处定义以下函数
[SqlFunction(ServerSideOnly=true)]
public static double GetTax(int id, DateTime dt)
{
throw new NotImplementedException();
}
它将告诉BLToolkit将GetTax转换为SQL