База данных Сначала + EF + POCO; Генерация кода T4? - PullRequest
3 голосов
/ 01 марта 2012

Я использую подход БД, используя Entity Framework, и я только что прочитал эту статью о POCO В EF .Теперь: как я могу генерировать шаблоны POCO непосредственно из базы данных?

namespace My.Domain
{
    public class Entity
    {
        public virtual long EntityId { get; set; }
        public virtual string Example { get; set; }
        public virtual long NextId { get; set; }
        public virtual bool Lame { get; set; }
    }
}

На самом деле, я бы очень хотел иметь возможность генерировать то же самое, что я генерирую вручную, всего за один шаг:

  • Добавьте ObjectSet для каждой таблицы в ObjectContext, каждый со своим полем, свойством получения и создания.
  • Создайте POCO сущностей, предпочтительно в другом проекте, со всемисопоставления свойств, включая отношения, свойства помечены как виртуальные для включения прокси и, очевидно, в выбранном мной пространстве имен.

Есть ли «простой» способ сделать это с помощью шаблонов T4, или естькакой-нибудь другой инструмент для этого?Возможно, какой-то Custom Tool вместо того, который поставляется с EF, но это POCO -ориентированный?

Ответы [ 2 ]

2 голосов
/ 01 марта 2012

Пока вы используете EF 4.1, получение сгенерированных объектов POCO является "встроенным".Пожалуйста, обратитесь к этой статье:

http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx

, который был просто поросенком к старому, более многословному пути, найденному в

http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx

Первый метод - больше предложенный метод сейчас, но я решил, что в любом случае я бы также дал вам более старый:)

Надеюсь, это соответствует вашим потребностям :).Я не уверен в создании его в указанном вами пространстве имен и проекте.Это больше похоже на Code First (что вы МОЖЕТЕ сделать и идеально подключить к базе данных?), Но вы можете согнуть элемент генерации по своей прихоти.Это должен быть толчок в правильном направлении, хотя

0 голосов
/ 11 мая 2014

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

Шаблоны по умолчанию Entity Framework не могут быть помещены в отдельную сборку, потому что для этого потребуются конфигурации и файл EDMX.

Есть ли "простой" способ сделать это с помощью шаблонов T4, или есть какой-то другой инструмент, доступный для этого?

Да, генератор интерфейса объекта

https://entityinterfacegenerator.codeplex.com

Этот проект содержит настраиваемые шаблоны T4, которые могут генерировать интерфейсы и атрибуты для класса DbContext и классов сущностей.

...