Entity Framework Code First: Как отобразить плоский стол на класс с вложенными объектами
4356 просмотра
1 ответ
У меня есть сценарий, где данные из одной таблицы должны быть в 2 объекта.
[Table]
-Field1
-Field2
-Field3
-Field4
И класс выглядит так:
[Class1]
-Field1
-Field2
-Class2 object here
[Class2]
-Field3
-Field4
Я установил в Class1 атрибут [NotMapped] над свойством Class2, которое содержит поля 3 и 4. Я также добавил конфигурацию в контексте базы данных:
public class ConfigurationClass1 : EntityTypeConfiguration<Class1> {
public ConfigurationClass1 () {
Property(o => o.Class2.Field3).HasColumnName("Field3");
Property(o => o.Class2.Field4).HasColumnName("Field4");
}
}
Проблема в том, что когда я пытаюсь использовать Entity Framework с Class1, я получаю:
Свойство Class2 не является объявленным свойством для типа Class2. Убедитесь, что свойство не было явно исключено из модели с помощью метода Ignore или аннотации данных NotMappedAttribute. Убедитесь, что это допустимое примитивное свойство.
Как я могу использовать Entity Framework Code First с сущностью, у которой есть вложенный объект со всей информацией в плоской таблице?
Автор: Patrick Desjardins Источник Размещён: 06.07.2019 09:27Ответы (1)
8 плюса
Вы можете сделать это только в том случае, если EF CF может распознать Class2 как сложный тип .
Кратко:
- Class2 не должен содержать ссылок на другие объекты EF. Только для других сложных типов или стандартных типов
- Class2 не может быть универсальным. в этом случае в качестве обходного пути вы можете создать неуниверсальный вложенный класс и использовать его в своем Class1.
Вопросы из категории :
- c# Преобразовать десятичную в двойную?
- c# Как рассчитать чей-то возраст в C #?
- c# Как вы сортируете словарь по значению?
- c# В чем разница между int и Integer в Java и C #?
- c# Как создать новый экземпляр объекта из Типа
- entity-framework Entity Framework против LINQ to SQL
- entity-framework Можете ли вы использовать Microsoft Entity Framework с Oracle?
- entity-framework Несколько бэкэндов для Entity Framework
- entity-framework Как вы выполняете оператор «IN» в стиле SQL в LINQ to Entities (Entity Framework), если Contains не поддерживается?
- entity-framework Конец ассоциации не отображается в структуре объекта ADO
- .net-4.0 Каковы истинные преимущества ExpandoObject?
- .net-4.0 Как читать файл .RTF, используя .NET 4.0
- .net-4.0 Какая «дополнительная конфигурация» необходима для ссылки на сборку смешанного режима .NET 2.0 в проекте .NET 4.0?
- .net-4.0 Как узнать максимальную длину поля в Entity Framework в .NET 4?
- .net-4.0 Хороший .net4 профилировщик
- entity-framework-4.3 Строка соединения с именем «MyApplicationEntities» не может быть найдена в файле конфигурации приложения
- entity-framework-4.3 Entity Framework Code First: Как отобразить плоский стол на класс с вложенными объектами
- entity-framework-4.3 Entity Framework: One Database, Multiple DbContexts. Is this a bad idea?
- entity-framework-4.3 Установить время ожидания команды в рамках структуры 4.3