Я хочу использовать однонаправленную связь «многие ко многим», но не могу заставить ее работать.
Я использую EF Core 8.0.6 и воссоздал пример ( https://learn.microsoft.com/en-us/ef/co ... ny-to-many) в новом проекте Visual Studio.
Все сообщения и все теги загружены, но Post.List остается пустым. Я что-то упустил?
SQL:
CREATE TABLE "Posts"
(
"Id" INTEGER NOT NULL CONSTRAINT "PK_Posts" PRIMARY KEY
);
CREATE TABLE "Tags"
(
"Id" INTEGER NOT NULL CONSTRAINT "PK_Tags" PRIMARY KEY
);
CREATE TABLE "PostTag"
(
"PostId" INTEGER NOT NULL,
"TagsId" INTEGER NOT NULL,
CONSTRAINT "PK_PostTag" PRIMARY KEY ("PostId", "TagsId"),
CONSTRAINT "FK_PostTag_Posts_PostId"
FOREIGN KEY ("PostId") REFERENCES "Posts" ("Id") ON DELETE CASCADE,
CONSTRAINT "FK_PostTag_Tags_TagsId"
FOREIGN KEY ("TagsId") REFERENCES "Tags" ("Id") ON DELETE CASCADE
);
INSERT INTO Posts (Id) VALUES(0),(1),(2),(3);
INSERT INTO Tags (Id) VALUES(0),(1),(2),(3);
INSERT INTO PostTag (PostId, TagsId)
VALUES (0, 0), (0, 1), (0, 2), (1, 3), (2, 2), (2, 3), (3, 0);
C#:
internal class DataBaseContext : DbContext
{
public DbSet Posts { get; set; }
public DbSet Tags { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
options.UseSqlServer("Data Source=*; Database=*; User Id=*; Password=*; TrustServerCertificate=true");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity().HasMany(e => e.Tags).WithMany();
}
}
public class Post
{
public int Id { get; set; }
public List Tags { get; } = [];
}
public class Tag
{
public int Id { get; set; }
}
internal class Program
{
DataBaseContext DBContext { get; set; }
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
var DBContext = new DataBaseContext();
List posts = DBContext.Posts.ToList();
List tags = DBContext.Tags.ToList();
}
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... ot-working
Entity Framework Core Однонаправленная связь «многие ко многим» не работает ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Entity Framework Core: включить неработоспособность для отношений «многие ко многим».
Anonymous » » в форуме C# - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-