广告
返回顶部
首页 > 资讯 > 精选 >如何使用用户定义的Linq表值函数
  • 249
分享到

如何使用用户定义的Linq表值函数

2023-06-17 22:06:50 249人浏览 安东尼
摘要

小编给大家分享一下如何使用用户定义的Linq表值函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用用户定义的Linq表值函数Linq表值函数返回单个行集(与存

小编给大家分享一下如何使用用户定义的Linq表值函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

使用用户定义的Linq表值函数

Linq表值函数返回单个行集(与存储过程不同,存储过程可返回多个结果形状)。由于Linq表值函数的返回类型为 Table,因此在 sql 中可以使用表的任何地方均可以使用Linq表值函数。此外,您还可以完全像处理表那样来处理Linq表值函数。

下面的 SQL 用户定义函数显式声明其返回一个 TABLE。因此,隐式定义了所返回的行集结构。

ALTER FUNCTioN [dbo].[ProductsUnderThisUnitPrice]  (@price Money  )  RETURNS TABLE  AS  RETURN  SELECT *  FROM Products as P  Where p.UnitPrice < @price

拖到设计器中,LINQ to SQL 按如下方式映射此函数:

IsComposable=true)]  public IQueryable<ProductsUnderThisUnitPriceResult>   ProductsUnderThisUnitPrice([Parameter(DbType="Money")]  System.Nullable<decimal> price)  {  return this.CreateMethodCallQuery  <ProductsUnderThisUnitPriceResult>(this,  ((MethodInfo)(MethodInfo.GetCurrentMethod())), price);  }

这时我们小小的修改一下Discontinued属性为可空的bool类型。

private System.Nullable<bool> _Discontinued;  public System.Nullable<bool> Discontinued  {  }

我们可以这样调用使用了:

var q = from p in db.ProductsUnderThisUnitPrice(10.25M)  where !(p.Discontinued ?? false)  select p;

其生成SQL语句如下:

SELECT [t0].[ProductID], [t0].[ProductName], [t0].[SupplierID],   [t0].[CateGoryID], [t0].[QuantityPerUnit], [t0].[UnitPrice],   [t0].[UnitsInStock], [t0].[UnitsOnOrder], [t0].[ReorderLevel],  [t0].[Discontinued]  FROM [dbo].[ProductsUnderThisUnitPrice](@p0) AS [t0]  WHERE NOT ((COALESCE([t0].[Discontinued],@p1)) = 1)  -- @p0: Input Money (Size = 0; Prec = 19; Scale = 4) [10.25]  -- @p1: Input Int (Size = 0; Prec = 0; Scale = 0) [0]

以联接方式使用用户定义的Linq表值函数

我们利用上面的ProductsUnderThisUnitPrice用户定义函数,在 LINQ to SQL 中,调用如下:

var q =  from c in db.Categories  join p in db.ProductsUnderThisUnitPrice(8.50M) on  c.CategoryID equals p.CategoryID into prods  from p in prods  select new  {  c.CategoryID,  c.CategoryName,  p.ProductName,  p.UnitPrice  };

其生成的 SQL 代码说明对此函数返回的表执行联接。

SELECT [t0].[CategoryID], [t0].[CategoryName],   [t1].[ProductName], [t1].[UnitPrice]  FROM [dbo].[Categories] AS [t0]  CROSS JOIN [dbo].[ProductsUnderThisUnitPrice](@p0) AS [t1]  WHERE ([t0].[CategoryID]) = [t1].[CategoryID]  -- @p0: Input Money (Size = 0; Prec = 19; Scale = 4) [8.50]

以上是“如何使用用户定义的Linq表值函数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何使用用户定义的Linq表值函数

本文链接: https://www.lsjlt.com/news/293725.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用用户定义的Linq表值函数
    小编给大家分享一下如何使用用户定义的Linq表值函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用用户定义的Linq表值函数Linq表值函数返回单个行集(与存...
    99+
    2023-06-17
  • Linq中用户定义函数的原理是什么
    Linq中用户定义函数的原理是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Linq用户定义函数我们可以在LINQ to SQL中使用Linq用户定义函数。只要把Lin...
    99+
    2023-06-17
  • 帝国CMS使用用户自定义函数取发表的新闻数
    添加用户自定义函数 1.函数内容如下: 复制代码代码如下: <php function user_newstotal($userid){ global $empire,$class_r,$dbtbpre; $que...
    99+
    2022-06-12
    新闻数
  • Linq如何使用数据表
    这篇文章主要为大家展示了“Linq如何使用数据表”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linq如何使用数据表”这篇文章吧。首先让大家了解下Linq使用数据表,然后全面介绍生成的SQL语句...
    99+
    2023-06-17
  • [转载]SQL Server 用户定义的函数
    原文地址:https://docs.microsoft.com/zh-cn/previous-versions/aa686015(v=msdn.10)redirectedfrom=MSDN SQL Server 用户定义的函数 ...
    99+
    2017-10-28
    [转载]SQL Server 用户定义的函数
  • 在PHP中如何创建用户定义函数
    这篇文章将为大家详细讲解有关在PHP中如何创建用户定义函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在 PHP 创建用户定义函数用户定义的函数声明以单词 "...
    99+
    2022-10-19
  • 如何使用mysql自定义函数
    这篇文章主要讲解了如何使用mysql自定义函数,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。什么是函数:函数存储着一系列sql语句,调用函数就是一次性执行这些语句。所以函数可以...
    99+
    2022-10-18
  • 帝国cms使用自定义函数获取用户发表新闻数量的方法
    介绍了帝国cms系统中通过用户自定义函数获取用户发表新闻数量的方法,主要是分享下帝国cms自定义函数功能。 在帝国cms中实现获取用户发表的新闻数量,没有现成的方法,不过可以用自定义函数来实现,一起来看看。 帝国cm...
    99+
    2022-06-12
    自定义函数 文章数
  • Django rest framework如何自定义用户表
    目录说明1. Django项目和应用创建2. 自定义User表3. 序列化和路由3. DRF配置4. 同步数据库5. 测试6. 命令行注册用户说明 Django 默认的用户表 aut...
    99+
    2022-11-12
  • python中函数的参数如何定义和使用
    这篇文章主要介绍“python中函数的参数如何定义和使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python中函数的参数如何定义和使用”文章能帮助大家解决问题。一、参数的定义1、函数的参数在哪...
    99+
    2023-07-02
  • 如何使用JavaScript定义自己的ajax函数
    这篇文章将为大家详细讲解有关如何使用JavaScript定义自己的ajax函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。由于用原生js的方式发起的网络请求,都是以查询字符串的形式,提交给服务器的,用户...
    99+
    2023-06-21
  • vue3的自定义hook函数使用
    目录自定义hook函数使用vue3 hooks函数示例官方示例代码---封装前使用hooks函数封装后hooks函数自定义hook函数使用 使用Vue3的组合API封装的可复用的功能...
    99+
    2022-11-13
  • SparkSQL的自定义函数UDF使用
    目录Spark_SQL的UDF使用UDF简单使用Spark_SQL的UDF使用 用户自定义函数,也叫UDF,可以让我们使用Python/Java/Scala注册自定义函数,并在SQL...
    99+
    2023-02-01
    Spark SQL UDF Spark自定义函数UDF
  • 如何使用 MySQL STRCMP() 函数比较表的列数据值?
    如果我们想要比较两列的数据值,那么我们需要提供列的名称作为 MySQL STRCMP() 函数的参数。假设我们有一个名为“Marks”的表,其中包含学生的姓名及其在不同科目中的安全分数。现在,如果我们想知道某个学生在两门科目中获得更多、更少...
    99+
    2023-10-22
  • 我们如何在用户定义的变量中存储值?
    我们可以在语句中将一个值存储在用户定义的变量中,然后在其他语句中引用它。以下是存储用户定义变量值的方法:使用SET语句我们可以通过发出SET语句来存储用户定义变量,如下所示:语法SET @var_name = expr[, @var_nam...
    99+
    2023-10-22
  • jQuery中animate()如何使用预定义的值
    这篇文章将为大家详细讲解有关jQuery中animate()如何使用预定义的值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery animate() - 使用预定...
    99+
    2022-10-19
  • python如何调用自定义函数
    要调用自定义函数,需要按照以下步骤进行:1. 定义一个函数。例如,我们定义一个名为`add_numbers`的函数,用于求两个数的和...
    99+
    2023-09-29
    python
  • mysql自定义函数如何调用
    本篇内容介绍了“mysql自定义函数如何调用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!操作步骤:1、首...
    99+
    2022-10-19
  • python如何引用自定义函数
    python引用自定义函数的方法:1、自定义函数中的无参函数的引用:可直接输入函数名,或者将其赋值给一个变量。2、自定义函数中的有参数的函数的引用,只需在括号内加入变量即可。具体操作步骤:引用自定义函数中的无参函数,可直接输入函数名,或者将...
    99+
    2022-10-21
  • Python函数如何定义和调用
    这篇文章主要讲解了“Python函数如何定义和调用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python函数如何定义和调用”吧!Python函数的定义函...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作