Entity Not Mapped - Структура модели объектов - PullRequest
2 голосов
/ 19 мая 2011

У меня много трудностей с Entity Model Framework.

Я только учусь этому, поэтому, пожалуйста, потерпите меня.

Это исключение, наряду со строкой кода, на которую оно добавлено:

enter image description here

Вот как выглядит модель вместе с моделью, которую она наследует от

enter image description here

Вот как выглядят детали отображения: (Верхняя часть оператора if была обрезана)

enter image description here

Вот как выглядит AccountContext enter image description here

Если я не предоставил достаточно информации, пожалуйста, сообщите мне

Как мне сопоставить "Пользовательский" объект?

1 Ответ

3 голосов
/ 19 мая 2011

У вас есть иерархия классов, и есть три разные стратегии для отображения наследования: TPH, TPT и TPC .

Насколько я понимаю, во всех трех стратегиях вам необходимо включить Базовый класс в свой DbContext:

public class AccountContext : DbContext
{
    public DbSet<BaseModel> BaseModels { get; set; }
}

Это автоматически приводит к отображению TPH. Для двух других стратегий вам потребуются дополнительные сопоставления либо с помощью аннотаций данных, либо в Fluent API.

Редактировать

Для запроса производных классов (например, User) вы можете работать с методом OfType, например:

UserDb.BaseModels.OfType<User>().ToList()

Это вернет все объекты типа User в список.

...