首页 > 数据库 >C# .NET 中 LINQ to Entities查询中使用时转换为数据库函数的CLR方法(EF.Functions)

C# .NET 中 LINQ to Entities查询中使用时转换为数据库函数的CLR方法(EF.Functions)

时间:2024-01-27 15:35:25浏览次数:46  
标签:startDate Functions endDate Nullable C# EF Server DbFunctions SQL

EF.Functions 映射

由于并非所有数据库函数都有等效的 C# 函数,因此 EF Core 提供程序提供了特殊的 C# 方法来调用某些数据库函数。 这些方法通过 EF.Functions 定义为扩展方法来用于 LINQ 查询中。 这些方法是特定于提供程序的,因为它们与特定数据库函数密切相关。 因此,适用于某个提供程序的方法很可能不适用于任何其他提供程序。 此外,由于这些方法旨在调用所转换查询中的数据库函数,因此尝试在客户端上计算这些方法会引发异常。

EF

在应用程序代码中非常有用的静态方法,其中没有要从中访问方法的 EF 类型。 例如,在 LINQ 查询中引用阴影状态属性。

Functions属性

提供在 LINQ to Entities 查询中使用时转换为数据库函数的 CLR 方法。

属性值 DbFunctions

提供在 LINQ to Entities 查询中使用时转换为数据库函数的 CLR 方法

以下列举一些常用的方法:

Like(DbFunctions, String, String)
SQL LIKE 操作的实现。 在关系数据库中,这通常直接转换为 SQL。

Like(DbFunctions, String, String, String)
SQL LIKE 操作的实现。 在关系数据库中,这通常直接转换为 SQL。

Collate(DbFunctions, TProperty, String)
显式指定要在 LINQ 查询中使用的排序规则。 可用于生成片段,例如 WHERE customer.name COLLATE 'de_DE' = 'John Doe'。

Contains(DbFunctions, String, String)
DbFunction 方法存根,可在 LINQ 查询中使用,以SQL Server CONTAINS 存储函数为目标。

Contains(DbFunctions, String, String, Int32)
DbFunction 方法存根,可在 LINQ 查询中使用,以SQL Server CONTAINS 存储函数为目标。

DataLength(DbFunctions, Byte[])
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, Nullable)
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, Nullable)
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, Nullable)
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, Nullable)
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, Nullable)
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, Nullable)
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, Nullable)
返回用于表示任何表达式的字节数。

DataLength(DbFunctions, String)
返回用于表示任何表达式的字节数。

DateDiffDay(DbFunctions, DateTime, DateTime)
计算 和 endDate之间startDate跨越的日期边界数。 对应于 SQL Server 的 DATEDIFF(day, @startDate, @endDate)。

DateDiffDay(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 和 endDate之间startDate跨越的日期边界数。 对应于 SQL Server 的 DATEDIFF(day, @startDate, @endDate)。

DateDiffDay(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的日期边界数。 对应于 SQL Server 的 DATEDIFF(day, @startDate, @endDate)。

DateDiffDay(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的日期边界数。 对应于 SQL Server 的 DATEDIFF(day, @startDate, @endDate)。

DateDiffHour(DbFunctions, DateTime, DateTime)
计算 在 和 endDate之间startDate跨越的小时边界数。 对应于 SQL Server 的 DATEDIFF(hour, @startDate, @endDate)。

DateDiffHour(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 在 和 endDate之间startDate跨越的小时边界数。 对应于 SQL Server 的 DATEDIFF(hour, @startDate, @endDate)。

DateDiffHour(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的小时边界数。 对应于 SQL Server 的 DATEDIFF(hour, @startDate, @endDate)。

DateDiffHour(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的小时边界数。 对应于 SQL Server 的 DATEDIFF(hour, @startDate, @endDate)。

DateDiffHour(DbFunctions, Nullable, Nullable)
计算 在 和 endTimeSpan之间startTimeSpan跨越的小时边界数。 对应于 SQL Server 的 DATEDIFF(hour, @startTimeSpan, @endTimeSpan)。

DateDiffHour(DbFunctions, TimeSpan, TimeSpan)
计算 在 和 endTimeSpan之间startTimeSpan跨越的小时边界数。 对应于 SQL Server 的 DATEDIFF(hour, @startTimeSpan, @endTimeSpan)。

DateDiffMicrosecond(DbFunctions, DateTime, DateTime)
计算 在 和 endDate之间startDate跨越的微秒边界数。 对应于 SQL Server 的 DATEDIFF(microsecond, @startDate, @endDate)。

DateDiffMicrosecond(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 在 和 endDate之间startDate跨越的微秒边界数。 对应于 SQL Server 的 DATEDIFF(microsecond, @startDate, @endDate)。

DateDiffMicrosecond(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的微秒边界数。 对应于 SQL Server 的 DATEDIFF(microsecond, @startDate, @endDate)。

DateDiffMicrosecond(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的微秒边界数。 对应于 SQL Server 的 DATEDIFF(microsecond, @startDate, @endDate)。

DateDiffMicrosecond(DbFunctions, Nullable, Nullable)
计算 在 和 endTimeSpan之间startTimeSpan跨越的微秒边界数。 对应于 SQL Server 的 DATEDIFF(microsecond, @startTimeSpan, @endTimeSpan)。

DateDiffMicrosecond(DbFunctions, TimeSpan, TimeSpan)
计算 在 和 endTimeSpan之间startTimeSpan跨越的微秒边界数。 对应于 SQL Server 的 DATEDIFF(microsecond, @startTimeSpan, @endTimeSpan)。

DateDiffMillisecond(DbFunctions, DateTime, DateTime)
计算 和 endDate之间startDate跨越的毫秒边界数。 对应于 SQL Server 的 DATEDIFF(millisecond, @startDate, @endDate)。

DateDiffMillisecond(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 和 endDate之间startDate跨越的毫秒边界数。 对应于 SQL Server 的 DATEDIFF(millisecond, @startDate, @endDate)。

DateDiffMillisecond(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的毫秒边界数。 对应于 SQL Server 的 DATEDIFF(millisecond, @startDate, @endDate)。

DateDiffMillisecond(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的毫秒边界数。 对应于 SQL Server 的 DATEDIFF(millisecond, @startDate, @endDate)。

DateDiffMillisecond(DbFunctions, Nullable, Nullable)
计算 在 和 endTimeSpan之间startTimeSpan跨越的毫秒边界数。 对应于 SQL Server 的 DATEDIFF(millisecond, @startTimeSpan, @endTimeSpan)。

DateDiffMillisecond(DbFunctions, TimeSpan, TimeSpan)
计算 在 和 endTimeSpan之间startTimeSpan跨越的毫秒边界数。 对应于 SQL Server 的 DATEDIFF(millisecond, @startTimeSpan, @endTimeSpan)。

DateDiffMinute(DbFunctions, DateTime, DateTime)
计算 在 和 endDate之间startDate跨越的分钟边界数。 对应于 SQL Server 的 DATEDIFF(minute, @startDate, @endDate)。

DateDiffMinute(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 在 和 endDate之间startDate跨越的分钟边界数。 对应于 SQL Server 的 DATEDIFF(minute, @startDate, @endDate)。

DateDiffMinute(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的分钟边界数。 对应于 SQL Server 的 DATEDIFF(minute, @startDate, @endDate)。

DateDiffMinute(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的分钟边界数。 对应于 SQL Server 的 DATEDIFF(minute, @startDate, @endDate)。

DateDiffMinute(DbFunctions, Nullable, Nullable)
计算 在 和 endTimeSpan之间startTimeSpan跨越的分钟边界数。 对应于 SQL Server 的 DATEDIFF(minute, @startTimeSpan, @endTimeSpan)。

DateDiffMinute(DbFunctions, TimeSpan, TimeSpan)
计算 在 和 endTimeSpan之间startTimeSpan跨越的分钟边界数。 对应于 SQL Server 的 DATEDIFF(minute, @startTimeSpan, @endTimeSpan)。

DateDiffMonth(DbFunctions, DateTime, DateTime)
计算 和 endDate之间startDate跨越的月份边界数。 对应于 SQL Server 的 DATEDIFF(month, @startDate, @endDate)。

DateDiffMonth(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 和 endDate之间startDate跨越的月份边界数。 对应于 SQL Server 的 DATEDIFF(month, @startDate, @endDate)。

DateDiffMonth(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的月份边界数。 对应于 SQL Server 的 DATEDIFF(month, @startDate, @endDate)。

DateDiffMonth(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的月份边界数。 对应于 SQL Server 的 DATEDIFF(month, @startDate, @endDate)。

DateDiffNanosecond(DbFunctions, DateTime, DateTime)
计算 在 和 endDate之间startDate跨越的纳秒边界数。 对应于 SQL Server 的 DATEDIFF(nanosecond, @startDate, @endDate)。

DateDiffNanosecond(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 在 和 endDate之间startDate跨越的纳秒边界数。 对应于 SQL Server 的 DATEDIFF(nanosecond, @startDate, @endDate)。

DateDiffNanosecond(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的纳秒边界数。 对应于 SQL Server 的 DATEDIFF(nanosecond, @startDate, @endDate)。

DateDiffNanosecond(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的纳秒边界数。 对应于 SQL Server 的 DATEDIFF(nanosecond, @startDate, @endDate)。

DateDiffNanosecond(DbFunctions, Nullable, Nullable)
计算 在 和 endTimeSpan之间startTimeSpan跨越的纳秒边界数。 对应于 SQL Server 的 DATEDIFF(nanosecond, @startTimeSpan, @endTimeSpan)。

DateDiffNanosecond(DbFunctions, TimeSpan, TimeSpan)
计算 在 和 endTimeSpan之间startTimeSpan跨越的纳秒边界数。 对应于 SQL Server 的 DATEDIFF(nanosecond, @startTimeSpan, @endTimeSpan)。

DateDiffSecond(DbFunctions, DateTime, DateTime)
计算 在 和 endDate之间startDate跨越的第二个边界的数目。 对应于 SQL Server 的 DATEDIFF(second, @startDate, @endDate)。

DateDiffSecond(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 在 和 endDate之间startDate跨越的第二个边界的数目。 对应于 SQL Server 的 DATEDIFF(second, @startDate, @endDate)。

DateDiffSecond(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的第二个边界的数目。 对应于 SQL Server 的 DATEDIFF(second, @startDate, @endDate)。

DateDiffSecond(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的第二个边界的数目。 对应于 SQL Server 的 DATEDIFF(second, @startDate, @endDate)。

DateDiffSecond(DbFunctions, Nullable, Nullable)
计算 在 和 endTimeSpan之间startTimeSpan跨越的第二个边界的数目。 对应于 SQL Server 的 DATEDIFF(second, @startTimeSpan, @endTimeSpan)。

DateDiffSecond(DbFunctions, TimeSpan, TimeSpan)
计算 在 和 endTimeSpan之间startTimeSpan跨越的第二个边界的数目。 对应于 SQL Server 的 DATEDIFF(second, @startTimeSpan, @endTimeSpan)。

DateDiffWeek(DbFunctions, DateTime, DateTime)
计算 和 endDate之间startDate跨越的周边界数。 对应于 SQL Server 的 DATEDIFF(week, @startDate, @endDate)。

DateDiffWeek(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 和 endDate之间startDate跨越的周边界数。 对应于 SQL Server 的 DATEDIFF(week, @startDate, @endDate)。

DateDiffWeek(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的周边界数。 对应于 SQL Server 的 DATEDIFF(week, @startDate, @endDate)。

DateDiffWeek(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的周边界数。 对应于 SQL Server 的 DATEDIFF(week, @startDate, @endDate)。

DateDiffYear(DbFunctions, DateTime, DateTime)
计算 在 和 endDate之间startDate跨越的年边界数。 对应于 SQL Server 的 DATEDIFF(year, @startDate, @endDate)。

DateDiffYear(DbFunctions, DateTimeOffset, DateTimeOffset)
计算 在 和 endDate之间startDate跨越的年边界数。 对应于 SQL Server 的 DATEDIFF(year, @startDate, @endDate)。

DateDiffYear(DbFunctions, Nullable, Nullable)
计算 在 和 endDate之间startDate跨越的年份边界数。 对应于 SQL Server 的 DATEDIFF(year, @startDate, @endDate)。

DateDiffYear(DbFunctions, Nullable, Nullable)
计算 和 endDate之间startDate跨越的年份边界数。 对应于 SQL Server 的 DATEDIFF(year, @startDate, @endDate)。

DateFromParts(DbFunctions, Int32, Int32, Int32)
将 结构的新实例 DateTime 初始化为指定的年、月、日。 对应于 SQL Server 的 DATEFROMPARTS(year, month, day)。

DateTime2FromParts(DbFunctions, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
将 结构的新实例 DateTime 初始化为指定的年、月、日、小时、分钟、秒、分数和精度。 对应于 SQL Server 的 DATETIME2FROMPARTS(year, month, day, hour, minute, seconds, fractions, precision)。

DateTimeFromParts(DbFunctions, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
将 DateTime 结构的新实例初始化为指定的年、月、日、小时、分钟、秒和毫秒。 对应于 SQL Server 的 DATETIMEFROMPARTS(year, month, day, hour, minute, second, millisecond)。

DateTimeOffsetFromParts(DbFunctions, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)
将 结构的新实例 DateTimeOffset 初始化为指定的年、月、日、小时、分钟、秒、分数、hourOffset、minuteOffset 和精度。 对应于SQL Server的 DATETIMEOFFSETFROMPARTS(year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) .

FreeText(DbFunctions, String, String)
DbFunction 方法存根,可用于 LINQ 查询中,以SQL SERVER FREETEXT 存储函数为目标。

FreeText(DbFunctions, String, String, Int32)
DbFunction 方法存根,可用于 LINQ 查询中,以SQL SERVER FREETEXT 存储函数为目标。

IsDate(DbFunctions, String)
验证给定字符串是否为有效日期。 对应于 SQL Server 的 ISDATE('date')。

SmallDateTimeFromParts(DbFunctions, Int32, Int32, Int32, Int32, Int32)
将 结构的新实例 DateTime 初始化为指定的年、月、日、小时和分钟。 对应于 SQL Server 的 SMALLDATETIMEFROMPARTS(year, month, day, hour, minute)。

TimeFromParts(DbFunctions, Int32, Int32, Int32, Int32, Int32)
将 结构的新实例 TimeSpan 初始化为指定的小时、分钟、秒、分数和精度。 对应于 SQL Server 的 TIMEFROMPARTS(hour, minute, seconds, fractions, precision)。

标签:startDate,Functions,endDate,Nullable,C#,EF,Server,DbFunctions,SQL
From: https://www.cnblogs.com/qingheshiguang/p/17991499

相关文章

  • AppleScript成功实现FaceTime语音,FaceTime视频,FaceTime数据筛选,检测手机号是否开通
    FaceTime是苹果公司iOS和macOS(以前称MacOSX或OSX)内置的一款视频通话软件,通过Wi-Fi或者蜂窝数据接入互联网,在两个装有FaceTime的设备之间实现视频通话。其要求通话双方均具有装有FaceTime的苹果设备,苹果ID以及可接入互联网的3G/4G/5G或者Wi-Fi网络。 一、Windows电脑上部署苹......
  • .net core 静态文件的访问权限控制(UseStaticFiles)
    官方文档:https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/static-files?view=aspnetcore-8.0&viewFallbackFrom=aspnetcore-2.2wwwroot中的文件,可以在Startup类的Configure方法中添加以下语句:app.UseStaticFiles();默认情况下,诸如HTML、css、图像、js之类的静态资......
  • Springboot CRUD简单实现
    SpringBoot对Spring的改善和优化,它基于约定优于配置的思想,提供了大量的默认配置和实现使用SpringBoot之后,程序员只需按照它规定的方式去进行程序代码的开发即可,而无需再去编写一堆复杂的配置SpringBoot的主要功能如下:起步依赖:SpringBoot以功能化的方式将需要的依赖进行组装,并......
  • MySQL 序列使用AUTO_INCREMENT
    MySQL序列是一组整数:1,2,3,…,由于一张数据表只能有一个字段自增主键,如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。本章我们将介绍如何使用MySQL的序列。使用AUTO_INCREMENTMySQL中最简单使用序列的方法就是使用MySQLAUTO_INCREMENT来定义列。实例......
  • .net core 配置跨域访问
    在Startup类里面先配置ConfigureServices方法#region跨域访问string[]coreslink=Configuration.GetSection("AppSetting:Cores").Value.Split(',');//services.AddCors(options=>//{//options.AddPolicy("all&quo......
  • 如果在循环中不改变vector的大小,C++编译器是否会将.size()优化为常数?
      在C++中,可以使用以下代码计算vector<int>中所有元素的和:vector<int>v={1,3,7,9};sums=0;for(inti=0;i<v.size();i++){sums+=v[i];}  这是一段很普通的代码,问题在于:在这段代码中,v.size()会在循环开始前仅计算一次?还是会在每次循环中都计算一次......
  • 【C#】快捷键详解
    注释:Ctrl+K,Ctrl+C取消注释:Ctrl+K,Ctrl+U添加#region:Ctrl+K,Ctrl+S格式化对齐:Ctrl+K,Ctrl+D生成getset:Ctrl+R,Ctrl+E转换小写:CTRL+U转换大写:CTRL+SHIFT+U启动调试:F5停止调试:Shift+F5单步执行:F11或F10跳出函数:Shift+F11查看变量值:鼠标悬停变量上代码格式化:Ct......
  • C转C++速成浅入浅出系列——STL之bitset
    本系列为应付考研复试用,知识浅入浅出,很多地方不深究细节原理;如有谬误,欢迎大家指出。bitset【bitset:位集,比特集】理解为比特集。特点是①只能存入0与1②小端存储(可参阅计算机组成原理知识,表现为按b[i]增序输出时会倒序输出)需提供头文件#include<bitset> 创建注:①存储时......
  • MFC 文件 File 序列化和反序列化
    //写文件voidCMainFrame::OnCarchiveWrite(){ //TODO:在此添加命令处理程序代码 /* a)创建文件对象CFile b)以写方式打开文件CFile::Open c)创建序列化对象,并且和文件关联在一起CArchive CArchive::store把数据保存到归档文件中。允许CFile写操作。 d)......
  • 无涯教程-Scala Tuples函数
    Scala元组将固定数量的项目组合在一起,以便它们可以作为整体传递。与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的。以下是一个包​​含整数,字符串和控制台的元组的示例。valt=(1,"hello",Console)以下是语法糖-valt=newTuple3(1,"hello",Console)元......