Создание POCO из существующей базы данных EF 5 (с некоторыми условиями)

У меня есть существующая база данных, которую я хочу сгенерировать для своих POCO, но я хочу получить классы модели вне .tt файла, не задавая partial определение и "автоматически сгенерированный" заголовок комментария для каждого класса, который я хочу иметь в результате я начал создавать POCO с нуля. Есть ли способ получить этот результат? С Уважением


Я хочу восстановить свою базу данных и начать обновление модели из POCO с помощью миграции.

Обновление: после редактирования файла шаблона (.tt) я смог удалить комментарий заголовка и частичное определение. Я думаю, что я мог бы сделать свою работу вручную. Теперь мне просто нужно исключить файл .tt и его подклассы из проекта, а затем снова добавить в проект только мои бизнес-классы.


person HichemSeeSharp    schedule 07.02.2013    source источник
comment
Вы пробовали шаблон генератора DbContext с моделью обновления из базы данных?   -  person abatishchev    schedule 07.02.2013
comment
Да, и он генерирует все эти вещи, которые я не хочу получать: файл .tt, частичный класс и т. д. очень раздражает   -  person HichemSeeSharp    schedule 07.02.2013
comment
Вы не можете ничего сгенерировать без самого генератора. Генератор POCO - это файлы .tt. Почему вы не хотите их? Кроме того, почему вы не хотите частичных классов? Это дает прекрасную возможность расширять каждый конкретный тип сущностей по своему желанию, не хотите - просто не трогайте, это ни на что не влияет.   -  person abatishchev    schedule 07.02.2013
comment
Расширение классов снижает удобочитаемость кода и усложняет мой текущий код. есть много классов, которые нужно переопределить, и много функций, которые нужно добавить   -  person HichemSeeSharp    schedule 07.02.2013
comment
Если класс создается на основе шаблона, какой другой способ его расширения вы видите?   -  person abatishchev    schedule 07.02.2013
comment
Обратите внимание: если вы удалите .tt, вы потеряете возможность обновлять ранее сгенерированные классы и создавать новые.   -  person abatishchev    schedule 07.02.2013
comment
Да, я действительно хочу начать с нуля, даже удалив текущую базу данных, как только я подготовлю свои POCO.   -  person HichemSeeSharp    schedule 07.02.2013
comment
POCO не будет создавать для вас новую базу данных, вместо этого вы получите исключение сопоставления.   -  person abatishchev    schedule 07.02.2013
comment
@abatishchev Спасибо за ваше время, я сгенерировал свою базу данных как шарм, выполнив шаги, которые я упомянул выше, и, наконец, изменив строку подключения в App.config.   -  person HichemSeeSharp    schedule 07.02.2013


Ответы (1)


Для создания своего покос. У него есть возможность реверсировать инженерный код сначала, который генерирует классы POCO, производное сопоставление DbContext и Code First для существующей базы данных.

person david.s    schedule 07.02.2013
comment
+1. Это то, что я использую, я обычно проектирую базу данных «вручную» и позволяю Power Tools выполнять сопоставление при использовании EF. В качестве примечания для тех, кто может искать, генератор карт NHibernate является эквивалентом для ( Свободно) Отображения NHibernate. - person Patryk Ćwiek; 07.02.2013
comment
+1 это берет меня на полпути. но это все еще не дает мне то, что мне нужно - person HichemSeeSharp; 07.02.2013
comment
@HichemC Что еще тебе нужно? Вам просто нужно добавить миграции, и все готово. - person david.s; 07.02.2013
comment
@Trustme-I'maDoctor: я бы порекомендовал проект SQL Server (.sqlproj) для разработки и управления исходным кодом вашей схемы базы данных. - person abatishchev; 07.02.2013
comment
@abatishchev Спасибо, обязательно посмотрю :) - person Patryk Ćwiek; 07.02.2013