У меня есть очень простой пример, чтобы продемонстрировать эту проблему.
У меня есть табличная функция:
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'
Это всего лишь пример, но в моем сценарии реального мира мне нужно передать большой XML-документ размером до 300 КБ.
Как заставить Entity Framework использовать nvarchar (max), а не nvarchar (4000)?