Может ли EF4 генерировать POCO для меня, или я должен написать их сам? - PullRequest
2 голосов
/ 12 февраля 2011

В последнее время я играю с платформой Entity 4, и она довольно изящна. Я установил класс Customer.cs с некоторыми свойствами, такими как Name, Address и т. Д. У меня также есть класс StoreEntities.cs, который связывает их с базой данных через DbSet. Он отлично работает, и я могу вытащить всех своих клиентов из базы данных.

Проблема в том, что каждый учебник, с которым я сталкиваюсь в Интернете, генерирует свои уроки вручную. Я имею в виду, что все они говорят что-то вроде «Теперь я собираюсь создать новый класс с именем Orders со следующими свойствами», а затем приступить к его записи. Это может быть нормально, если я начинаю новый проект, но я портирую на свой старый веб-сайт, поэтому в моей базе данных содержится более 20 таблиц. Если я пройду и напишу все это вручную, я буду там всю неделю: D

Кроме того, я не уверен, что произойдет, если я внесу некоторые изменения в базу данных (поскольку мне придется вернуться и обновить все мои классы вручную).

Я надеялся, что в EF4 будет что-то похожее на диаграмму классов, где я могу указать ее в своей базе данных и сгенерировать для меня кучу классов на основе этого.

Я немного растерялся в этом. Я иду об этом правильным путем?

Ответы [ 2 ]

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

Вам стоит взглянуть на ADO.NET C # POCO Entity Generator . При этом вы сможете создавать свою модель из существующей базы данных, а шаблоны T4 будут генерировать ваши классы POCO на основе таблиц баз данных и т. Д.

Вот ссылка на MSDN, в которой объясняется, как обновить модель из базы данных с помощью мастера обновления модели.

0 голосов
/ 12 февраля 2011

Есть два способа достичь того, что вы хотите. Оба начинают с добавления нового элемента в ваш проект. В окне «Добавить новый элемент» выберите «Модель данных объекта ADO.NET». Там у вас будет два варианта. Один для создания вашей модели из существующей базы данных, а второй для создания модели вручную в конструкторе. Если вы выберете первый вариант, вы можете просто перетащить таблицы из обозревателя серверов на поверхность проектирования, и все ваши объекты и их отношения будут сгенерированы для вас автоматически. Также вы можете изменить эту сгенерированную модель позже.

...