Как отобразить функцию «Оценная таблица с несколькими выстраданиями» в структуре Entity Framework Core 9?C#

Место общения программистов C#
Ответить
Anonymous
 Как отобразить функцию «Оценная таблица с несколькими выстраданиями» в структуре Entity Framework Core 9?

Сообщение Anonymous »

Как говорится в вопросе, выход документации на веб-сайте Microsoft Learn (сопоставление запросной функции на таблицу функции) не описывает, как настраивать эти типы функций. < /p>
Как отобразить эти типы функции в ядро ​​EF, учитывая, что возвращаемая таблица не существует? Pre Class = "Lang-Sql PrettyPrint-Override">

Код: Выделить всё

CREATE FUNCTION [dbo].[fn_multi_statement_test]
(
@p1 INT
)
RETURNS @OutputTable TABLE
(
[Id] INT,
[Name] NVARCHAR(50)
)
AS

BEGIN

DECLARE @Apple AS TABLE
(
[Name] NVARCHAR(50)
)

INSERT INTO @Apple ([Name]) SELECT 'Apple'

DECLARE @Pear AS TABLE
(
[Name] NVARCHAR(50)
)

INSERT INTO @Pear ([Name]) SELECT 'Pear'

INSERT INTO @OutputTable ([Id], [Name]) SELECT @p1, [Name] FROM @Apple
INSERT INTO @OutputTable ([Id], [Name]) SELECT @p1, [Name] FROM @Pear
RETURN
END;
< /code>
ef configuration < /p>
// MultiStatementTest.cs

public class MultiStatementTest
{
public int Id { get; set; }
public string Name { get; set; }
}

// Context.OnModelCreatingPartial.cs

public partial class Context
{
public IQueryable fn_multi_statement_test(int p1)
{
return FromExpression(() => fn_multi_statement_test(p1));
}

partial void OnModelCreatingPartial(ModelBuilder modelBuilder)
{
// What table name should be used here?
modelBuilder.Entity().ToTable(?);

modelBuilder
.HasDbFunction(typeof(Context).GetMethod(nameof(fn_multi_statement_test), new[] { typeof(int) }))
.HasName("fn_multi_statement_test")
.HasSchema("dbo");
}
}
Любая справка/руководство приветствуется.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... ework-core
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»