Wie können Sie eine Multi-Statement-Tabelle im Entity Framework Core 9 zuordnen?C#

Ein Treffpunkt für C#-Programmierer
Guest
 Wie können Sie eine Multi-Statement-Tabelle im Entity Framework Core 9 zuordnen?

Post by Guest »

Wie in der Frage die Dokumentation auf der Microsoft Learn-Website (Zuordnung einer abfragbaren Funktion zu einer Funktion mit Tabellen) beschreibt nicht, wie Sie diese Art von Funktionen konfigurieren. < /p>
Wie können Sie diese Funktionstypen im EF -Kern zuordnen, da die zurückgegebene Tabelle nicht vorhanden ist? pre class = "Lang-sql PrettyPrint-Override">

Code: Select all

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-Konfiguration < /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");
}
}
Jede Hilfe/Anleitung wird geschätzt.
Thanks.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post