Можно ли получить базовое имя таблицы из модели в Entity Framework 4 - PullRequest
2 голосов
/ 19 февраля 2011

Чтобы избежать волшебных строк при запуске команды ExecuteStore, можно получить имя базовой таблицы [и столбцы] из модели в Entity Framework 4

Liam

Ответы [ 2 ]

2 голосов
/ 19 февраля 2011

Я не могу сказать вам, если таковые имеются, но лучшим вариантом было бы погрузиться в метаданные контекста.

Это может помочь вам, это документация ометаданные EF.Если вы не можете найти его в метаданных, вам, скорее всего, не повезло.

Редактировать в соответствии с this (внизу страницы):

Я также пытался запросить метаданные сопоставления.Я хотел найти метаданные, которые описывают, как таблицы и сущности отображаются и какие хранимые процедуры сопоставляются с сущностями.Я не смог найти нужные метаданные через MetadataWorkSpace.Впоследствии Дэнни Симмонс из Microsoft дал мне знать, что эти метаданные сопоставления не доступны публично, и что это то, что они должны сделать в будущем выпуске Entity Framework.

Это кажется невозможным вмомент, когда эта информация не является общедоступной;однако это 2008 год, поэтому он мог бы измениться за это время.

1 голос
/ 19 февраля 2011

Я процитирую Роуэн Миллер ...

Привет,

к сожалению в CT4 нет общественная поверхность, которая позволяет найти какое имя таблицы для данного тип объекта. Это на самом деле ограничение EF в целом, как мы не имеют публичного API для доступа к картографический раздел модели. Это что-то, над чем мы работаем момент.

~ Роуэн

В данном случае CTP 4 является предварительным обновлением EF4. Мое единственное предложение обойти это, каким бы злым оно ни было, - это попытаться выполнить синтаксический анализ XML в модели напрямую и удалить из него имена таблиц. Очень зло, но это должно быть выполнимо. Помните, что модели могут относиться к нескольким таблицам, представлениям или комбинациям.

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