栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否可以在LINQ to SQL中使用/访问标量函数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否可以在LINQ to SQL中使用/访问标量函数?

如果这就是您的意思,LINQ-to-
SQL支持与UDF一起使用。只需将UDF拖到设计器图面上即可。这会在数据上下文上创建一个标记

[Function(...,IsComposable=true)]
或类似的匹配方法,告诉LINQ-to-
SQL它可以在查询中使用此方法(请注意EF不支持此用法)。

然后,您可以在查询中使用它,例如:

var qry = from cust in ctx.Custsselect new {Id = cust.Id, Value = ctx.GetTotalValue(cust.Id)};

它将变成TSQL之类的东西:

SELECT t1.Id, dbo.MyUdf(t1.Id)FROM CUSTOMER t1

(或大约)。

它是可组合的事实意味着您可以在查询中使用该值,例如在

Where()
/中使用
WHERe
-,从而减少从服务器返回的数据(尽管显然仍需要以某种方式执行UDF)。

这是一个类似的示例,显示了在数据上下文中使用的伪UDF,说明未使用该方法的C#版本。

实际上,我目前正在研究这样的UDF,以可组合的方式提供“模型外”数据-
即系统的特定部分需要访问一些不是真的数据(恰好在同一个数据库中)相同模型的一部分,但我想以

JOIN
有趣的方式。我也有用于此目的的现有SP
…因此,我正在考虑将这些SP移植到表格式UDF,这为围绕模型外数据提供了一定程度的合同/抽象性。因此,由于它不是模型的一部分,因此只能通过UDF进行获取-
但我仍然可以将其与常规模型组合在一起。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/517440.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号