Как запретить Entity Framework Core использовать сопоставление таблиц на иерархию (TPH)C#

Место общения программистов C#
Anonymous
Как запретить Entity Framework Core использовать сопоставление таблиц на иерархию (TPH)

Сообщение Anonymous »

Я использую MongoDB.EntityFrameworkCore.
У меня есть 3 класса: Pod, Planet, Asteroid с наследованием от SpaceObject
Я хочу использовать сопоставление Table-Per-Hierarchy (TPH) по умолчанию для Planet и Asteroid, чтобы сохранить эти объекты в коллекции SpaceObjects с дискриминатором по умолчанию _t.
Но я хочу сохранить объекты Pod в их собственной коллекции Pods, поэтому используйте сопоставление «таблица на тип» только в этом случае.
Я пытался указать коллекцию для Pod с помощью атрибута или при создании модели:

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

[Collection("Pods")]
public class Pod : SpaceObject

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

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);

modelBuilder.Entity
().ToCollection("Pods");
}
Это не работает: модули всегда сохраняются в коллекции SpaceObjects.

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