У меня есть база данных с таблицей для активных заказов и одна для неактивных заказов. Я хотел бы моделировать это в Entity Framework как один объект под названием Orders. Мне также нужен способ определить, активен или нет заказ в этой коллекции, предпочтительно, если у объекта есть свойство статуса, которое установлено в соответствии с той таблицей, в которой оно находится. Есть ли способ сделать это с помощью Entity Framework 1. Что о в Entity Framework 4?Entity Framework сопоставляет несколько таблиц одному объекту
ответ
Посмотрите на наследование типа Table Per Concrete Type.
В блоге команды ADO.NET описано here.
Если я правильно понимаю вас, как активные, так и неактивные заказы будут иметь одни и те же свойства (например: оба будут иметь десятичное «количество»), если это так, то в EF 1, я вполне уверен, что это невозможно. Я думаю, вам придется вернуться к отображению ваших объектов в объект POCO Orders.
Я думаю, что это то, что вы ищете: How to: Define a Model with Multiple Entity Sets per Type (Entity Framework)
«Данные модели Entity (EDM) позволяет тип объекта для включения многократным лица устанавливается в пределах одного контейнера объекта или типа сущности быть включается в совокупности сущностей в нескольких контейнерах объектов. Определение нескольких наборов сущностей для каждого типа (MEST) позволяет пользователям оптимизировать свой код, когда базы данных имеют разбиение на разделы или другие подобные сценарии, когда несколько таблиц имеют одну и ту же структуру ».
Я видел эту статью раньше. Однако это не совсем то, что мне нужно. Хотя объект Customer содержит данные из таблицы CustomerWest и CustomerEast, вы не можете вернуться позже и посмотреть на клиента и определить его регион. В моем случае мне нужен способ взглянуть на Орден и сказать, активен он или нет. –
Вы можете создать представление в своей БД и сгенерировать сущность из этого.
Хороший способ сделать один объект, который имеет несколько таблиц, использовать Разделение сущностей. MSDN имеет очень простой учебник, который поможет вам пройти процесс, который очень прост, однако вам может потребоваться изменить модель данных: http://msdn.microsoft.com/en-us/data/jj715646.aspx
- 1. Динамически сопоставлять несколько таблиц одному объекту
- 2. Доступ к более чем одному виртуальному объекту Entity Framework
- 3. Entity Framework 6 две разные коллекции, относящиеся к одному объекту
- 4. WCF с Entity Framework несколько таблиц
- 5. Entity Framework 7 несколько уровней дочерних таблиц
- 6. Entity Framework Связывание таблиц
- 7. Назначить несколько значений одному объекту (?)
- 8. Entity Framework - вставка в несколько таблиц с использованием внешнего ключа
- 9. Как MS Entity Framework сопоставляет концептуальную модель с типами CLR?
- 10. Как сделать несколько проектов доступными к одному проекту Entity Framework?
- 11. Entity Framework - несколько таблиц, ссылающихся на одну таблицу
- 12. Как сопоставить несколько таблиц в одну таблицу, используя один к одному отношения в Entity Framework
- 13. Entity Framework: Карта объединения таблиц
- 14. Entity Framework - Получить список таблиц
- 15. Entity Framework: Обновление объединения таблиц
- 16. Entity Framework сопоставляет тип данных float в double
- 17. Несколько Entity Framework миграции
- 18. Entity Framework несколько столбцов
- 19. entity framework несколько отношений
- 20. Entity Framework 5, несколько моделей, Same Entity
- 21. Amazon S3 - Несколько ключей к одному объекту
- 22. однонаправленный один-к-одному в Entity Framework
- 23. Entity Framework: вставить ссылку «один к одному»
- 24. один-к-одному Entity Framework отношения
- 25. Entity framework отношение один к одному
- 26. Order By по модифицированному объекту Entity Framework
- 27. Entity Framework Database Первые несколько схем дублируют имена таблиц
- 28. Получить несколько данных из таблиц Использование модели данных Entity Framework
- 29. Entity Framework 4.1 - Разделение объекта на несколько таблиц (Code-First)
- 30. Entity Framework Code First - несколько FK для разных родительских таблиц
Это не похоже на то, что мне нужно. В этом примере они создали отдельный элемент DiscontinuedProducts. Я хочу использовать один объект Order, но он содержит данные из двух разных таблиц. –
Попробуйте подход DefiningQuery. Напишите DefiningQuery с UNION и добавьте столбец выражения, возвращающий тип заказа. Убедитесь, что типы первичных ключей совпадают. Если вам нужна возможность изменить сущности, напишите необходимые функции изменения. Для этого вы можете использовать CommandText или написать процедуры в своей БД. – Devart