Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用BLToolkit和Linq的标量函数_Linq_Scalar_Bltoolkit - Fatal编程技术网

使用BLToolkit和Linq的标量函数

使用BLToolkit和Linq的标量函数,linq,scalar,bltoolkit,Linq,Scalar,Bltoolkit,我正在使用BLToolkit库将SQL过程转换为Linq 现在我遇到了一个小问题,所以如果有人知道这是可能的,我会非常感谢你的帮助 无论如何,我有一个类似这样的sql查询(注意:这不是我实际的表名,我只是翻译了它们,以便你们能够理解发生了什么) 这里没有什么特别的东西,只是我需要在当天得到每种产品的税 现在我需要将其转换为Linq,但我不知道这是否可能。我试过这样的东西 from p in Products select new { p.ProductsID, p.Name,

我正在使用BLToolkit库将SQL过程转换为Linq

现在我遇到了一个小问题,所以如果有人知道这是可能的,我会非常感谢你的帮助

无论如何,我有一个类似这样的sql查询(注意:这不是我实际的表名,我只是翻译了它们,以便你们能够理解发生了什么)

这里没有什么特别的东西,只是我需要在当天得到每种产品的税

现在我需要将其转换为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 selected语句调用标量函数?

在某处定义以下函数

[SqlFunction(ServerSideOnly=true)]
public static double GetTax(int id, DateTime dt)
{
    throw new NotImplementedException();
}

它将告诉BLToolkit将GetTax转换为SQL。

谢谢您的回答,但是我需要在这个方法体中写些什么来从服务器函数返回值呢?什么都没有。这个例子是完整的。SqlFunction属性告诉BLToolkit不要调用GetTax,而是将其转换为SQL.heh,它会认为它比您简单:)PS如果您没有看到,我几天前在GitHub上向您发布了一个问题。
[SqlFunction(ServerSideOnly=true)]
public static double GetTax(int id, DateTime dt)
{
    throw new NotImplementedException();
}