Как вы генерируете классы в C # из схемы SQL Server?

2

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

  • 0
    Пожалуйста, измените свой вопрос, чтобы сказать, какую версию Visual Studio и SQL Server вы используете. И какая редакция VS (Экспресс, Профессионал, Команда?)
Теги:
automation

8 ответов

3
Лучший ответ

Вместо таблиц данных и наборов данных вы можете использовать свои собственные объекты для представления данных в ваших приложениях, и для этого вы можете использовать некоторые структуры персистентности и OR-mappers (объектные реляционные сопоставители). Например, вы можете использовать "Linq to Sql", "Microsoft Entity framework" или NHibernate.

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

MyGeneration и CodeSmith как два из них, которые я знаю.

  • 0
    Я должен пойти с LINQ, новым для меня .. хороший вызов!
1

Я создатель SqlSharpener, который является легким инструментом, который будет анализировать ваши *.sql файлы (например, в SSDT) ​​и создавать объекты DTO и обертки хранимых процедур во время разработки с использованием шаблонов T4.

1

Есть целый мир инструментов, которые делают такие вещи. Он назывался ORM. Джош упомянул Subsonic, который является отличным бесплатным инструментом. Существует также Entity Framework, которая является частью Visual Studio 2008 SP1. Если вам нужен еще лучший инструмент, то я предлагаю вам использовать LLBLGen.

Надеюсь, это поможет!

1

Может быть T4 (Инструмент преобразования текстовых шаблонов) является вашим другом...

0

Параметр, если вы хотите написать собственный генератор кода, будет использовать объекты SMO, если вы используете MS Sql Server 2005/2008 и извлекаете информацию из объектов Table/Stored Procedure.

0

Мы движемся в сторону Entity Framework, но мы занимаем наше время, потому что мы не находим EF готовым к прайм-тайм, а Linq2Sql - это более или менее бедный инструмент ORM для людей/любителей. В настоящее время мы используем комбинацию пользовательской внутренней структуры (The Kinetic Framework) и Fluent NHibernate.

0

Попробуйте SubSonic

  • 0
    Ссылка не работает! Теперь доступно здесь: subsonic.github.io
0

Как насчет хорошего старого Линка? Начните здесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню