Entity Framework - Можете ли вы отобразить тип результата импортированной хранимой процедуры на пользовательский тип объекта? - PullRequest
1 голос
/ 18 сентября 2008

У меня уже есть сущностная модель в отдельной dll, которая содержит различные объекты, которые мне нужно использовать. Я действительно не хочу создавать или дублировать сущности с помощью EF-дизайнера. Вместо этого я хотел бы настроить его так, чтобы при вызове хранимой процедуры он отображал определенные столбцы на определенные свойства.

Я знаю, что вы можете сделать что-то ОЧЕНЬ близкое к этому, используя специальный DataContext в LinqToSql. Проблема в том, что вы не можете назначать столбцы сложным типам свойств. Например: у меня могут быть возвращены столбцы, которые содержат адрес для пользователя. Я хотел бы сохранить детали адреса для пользователя в объекте Address, который является свойством объекта User. Таким образом, столбец STREET должен отображаться на User.Address.Street.

Есть идеи?

1 Ответ

1 голос
/ 18 сентября 2008

Здесь есть несколько вариантов.

  1. Вы можете создать «Сложный тип» и сопоставить его с результатом процедуры. Тем не менее, вы должны сделать это в вашем EDMX; это не поддерживается дизайнером. Прочитайте эту статью для деталей. Обратите внимание, что сложные типы не являются типами сущностей как таковыми , поэтому это может соответствовать или не соответствовать вашим потребностям. Но вы можете найти примеры для хранимых процедур, которые используют "Адрес" .

  2. Вы можете изменить видимость вашей процедуры на приватную, а затем написать открытый интерфейс для нее в любом написанном вручную файле частичного класса, который выполняет отображение, которое вы хотите. Или просто перегрузите процедуру.

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