gpt4 book ai didi

c# - 在 LINQ to Entities 查询中调用自定义标量数据库函数?

转载 作者:太空狗 更新时间:2023-10-29 20:29:51 26 4
gpt4 key购买 nike

有没有一种方法可以调用自定义标量数据库函数作为我的 LINQ to Entities 查询的一部分?我在网上唯一能找到的是这个页面:

https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ef/language-reference/how-to-call-custom-database-functions

然而,此处给出的说明似乎假设您正在使用 DB 优先的方法并讨论修改 .edmx 文件。如果您使用代码优先方法怎么办?我希望能够写出这样的东西:

var result = await (
from itm in _itemDataContext.Items
where
itm.QryGroup1 == "Y" &&
_itemDataContext.Dbo_MyCustomScalarIntFn(itm.QryGroup2) > 0
).ToArrayAsync();

最佳答案

原来这个功能没有内置到 Entity Framework 中,所以我不得不使用 NuGet 包 ( CodeFirstFunctions ) 来获取它:


IItemDataContext

[DbFunction("CodeFirstDatabaseSchema", "fn_IsCorrectProduct")]
bool Fn_IsCorrectProduct(string companyID, string itemCode);

ItemDataContext

[DbFunction("CodeFirstDatabaseSchema", "fn_IsCorrectProduct")]
public bool Fn_IsCorrectProduct(string companyID, string itemCode)
{
// UDF is described in DbFunction attribute; no need to provide an implementation...
throw new NotSupportedException();
}

关于c# - 在 LINQ to Entities 查询中调用自定义标量数据库函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49074966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com