【发布时间】:2019-02-02 00:54:37
【问题描述】:
我有一个非常简单的例子来演示这个问题。
我有一个表值函数:
CREATE FUNCTION [dbo].[TestTVF]
(
@param1 varchar(max)
)
RETURNS TABLE
AS
RETURN
(
SELECT 1 as Id, 'Test' as [Name]
)
我已将其导入到 edmx 文件中:
但是当我使用该函数时,sql 生成的是这样的:
exec sp_executesql N'SELECT
1 AS [C1],
[Extent1].[Id] AS [Id],
[Extent1].[Name] AS [Name]
FROM [dbo].[TestTVF](@param1) AS [Extent1]',N'@param1 nvarchar(4000)',@param1=N'test'
这只是一个示例,但在我的真实场景中,我需要传入一个可能高达 300KB 的大型 xml 文档。
如何让实体框架使用 nvarchar(max) 而不是 nvarchar(4000)?
【问题讨论】:
-
是模型中的列 nvarchar(max) (例如它是否配置为 .IsMaxLength())?
标签: entity-framework