Entity Framework - сопоставить импорт хранимой процедуры с существующим объектом - PullRequest
2 голосов
/ 30 ноября 2011

У меня есть библиотека классов с определенными объектами, которые я буду использовать в приложении.В отдельной библиотеке классов у меня есть объектная модель Entity Framework, в которую я добавляю функцию import, выбираю хранимую процедуру и генерирую сложный тип.Вместо того, чтобы генерировать сложный тип, есть ли способ указать ему объект, который я определил в другой библиотеке классов?По сути, я хочу, чтобы все мои объекты находились в отдельной библиотеке, а не на уровне доступа к данным.Нужно ли мне писать собственную логику отображения?

Обратите внимание, это мои первые попытки EF.Я полагаю, вы могли бы сказать, что я использую код в первую очередь.Я создаю объекты (POCO), которые я хочу использовать, и они находятся в их собственной библиотеке классов (Моя объектная модель).В отдельной библиотеке классов я использую EF и выставляю методы, которые принимают или возвращают классы в моей объектной модели, которые могут быть вызваны моим приложением (уровень доступа к данным).

В моей базе данных у меня есть набор сохраненныхпроцедуры.Хранимые процедуры - единственный способ, которым мой уровень доступа к данным может взаимодействовать с базой данных.

На своем уровне доступа к данным я создал файл edmx и добавил импорт функций в файл edmx.Доступ к контейнеру сущности edmx установлен как внутренний, поэтому он не предоставляется за пределами библиотеки классов.Вместо этого у меня есть открытый класс с открытыми методами, которые могут быть вызваны моим приложением.Эти методы делают вызовы к классу контекста объекта, чтобы запустить хранимые процедуры и вернуть объекты из моей объектной модели.Цель здесь в том, что я использую только структуру сущностей для обработки вызовов хранимых процедур.По сути, технология доступа к данным полностью скрыта от приложения.Приложение знает только, как вызывать определенные функции из моей библиотеки доступа к данным и работать с объектами, представленными в моей объектной модели.Очевидно, я мог бы написать код, который переводит сложные типы, определенные в edmx, в типы в моей объектной модели, но мне просто интересно, есть ли способ избежать написания этого кода самостоятельно, и просто сделать, чтобы EF использовал мою объектную модель вместо ее сложнойтипы ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...