iTheoChan 2021-01-27 15:58
浏览 105

EFCore5.0+中怎么通过HasDbFunction映射含有表值参数的用户定义函数

有关EFCore中如何映射用户自定义函数的信息,官方文档中有详细说明:https://docs.microsoft.com/zh-cn/ef/core/querying/user-defined-function-mapping#mapping-a-queryable-function-to-a-table-valued-function

亲测上述方法可用。但是我的问题是这样的:

我有一个UDF(`UDF_Query`),要求传入一个用户定义类型,当我使用上述映射用户自定义函数方式进行映射时就失败了。有没有大佬能给出解决方案?不胜感激!

--UDF definition
CREATE FUNCTION UDF_Query(
	@args AS [UDTType] READONLY
)
RETURNS TABLE
AS RETURN (
SELECT * FROM dbo.SysDictionary s WHERE EXISTS (SELECT 1 FROM @args a WHERE a.Code=s.Code)
)

--UDTT definition
CREATE TYPE [dbo].[UDTType] AS TABLE(
	[Id] [varchar](50) NULL,
	[Code] [varchar](500) NULL
)

--SysDictionary definition
CREATE TABLE [dbo].[SysDictionary](
	[Id] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
	[Module] [nvarchar](255) NOT NULL,
	[Code] [nvarchar](100) NOT NULL,
	[Name] [nvarchar](1000) NULL,
	[ParentCode] [nvarchar](100) NULL,
	[IsValid] [bit] NOT NULL
) 
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程
    • ¥15 redis-full-check比较 两个集群的数据出错
    • ¥15 Matlab编程问题
    • ¥15 训练的多模态特征融合模型准确度很低怎么办