Entity Framework 4.1 Code First - Как отобразить строку, содержащую CSV ID объекта (внешние ключи), в соответствующий объект - PullRequest
2 голосов
/ 05 мая 2011

Прежде чем отправить свой вопрос, имейте в виду, что я работаю с существующей базой данных, принадлежащей стороннему поставщику, поэтому, к сожалению, изменение формата базы данных не вариант.

Вот проблема: у меня есть сущность, сопоставленная с таблицей базы данных, в которой есть столбец varchar, содержащий от одного до многих внешних ключей в формате csv. Эти внешние ключи соответствуют идентификаторам другого типа сущности. То, что я делал, - это написание функции, которая создает список идентификаторов из этого списка CSV, а затем я ищу этот объект с помощью объекта DBContect. То, что я хотел бы сделать, это отобразить отношения между сущностями. Есть способ сделать это? Спасибо!

1 Ответ

0 голосов
/ 06 мая 2011

К сожалению, нет способа сделать это без изменений в базе данных.EF - это инструмент ORM, но он все еще очень зависит от правильности проектирования базы данных.Хранение нескольких значений в одном столбце является безубыточным первая база данных нормальной формы .Для EF ваш столбец, содержащий данные CSV, является однострочным значением, и вы не можете установить связь с этим значением.

Кстати.это еще сложнее, потому что столбец не может представлять отношение один-ко-многим в стандартном реляционном значении - это потребовало бы, чтобы зависимые объекты содержали Id вашего основного объекта, а не тот основной объект содержит идентификаторы всех зависимых объектов.

...