Перепроектировать / создать интерфейс C# из таблицы сервера sql
Кто-нибудь знает, как инструмент, где я могу указать на мою базу данных сервера SQL, и он читает схему и генерирует классы интерфейса C# из таблиц?
например, скажем, у меня есть таблица с именем "Клиенты" со столбцом "Имя", столбец "Адрес" и столбец "Телефон", она будет генерировать файл ICustomer.cs со строкой Name {get;set;} string Address {get;set;} и int Phone {get;set;}
Я использую "неполный" генератор кода, и он не генерирует эти интерфейсы.
7 ответов
Я думаю, что могу использовать рефактор Resharpers 'Extract Interface', так как я уже сгенерировал класс.
Спасибо за вклад всех, хотя
Я не знаю, какой инструмент это делает, но я точно знаю, что вы можете сделать это самостоятельно довольно легко!
Установите строку, содержащую заголовок класса, а другую - с помощью нижнего колонтитула.
Затем создайте новый текстовый файл с именем вашей таблицы.
Запишите заголовок в файл.
Для тела просто напишите цикл чтения вашей таблицы, который извлекает имена и типы полей и пишет интерфейс с этой информацией.
В конце напишите нижний колонтитул в файл.
Там вы идете с вашим новым интерфейсом!
(Поскольку интерфейсы представляют собой простые текстовые файлы, это действительно легко...)
Вы могли бы использовать SQLMetal.exe
чтобы выполнить часть работы. Это звучит так, как будто вам нужен интерфейс, но это создаст конкретные классы. Это было бы маленькой задачей найти / заменить class
с interface
и измените имена.
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\SqlMetal.exe
или откройте командную строку Visual Studio.- Использование:
sqlmetal /server:myserver /database:myDB /user:myUser /pwd:myPwd /language:csharp /code:myDB.cs
Дополнительные параметры на странице MSDN для SQLMetal.
Мой проект SqlSharpener позволяет вам анализировать файлы SQL во время разработки, чтобы создать метамодель, которую вы затем можете использовать для генерации любого типа кода, который вам нравится в шаблоне T4. Например, вы можете создать объекты Entity Framework Code First.
Вам нужен инструмент, который позволяет настраивать шаблоны генерации кода. Рассматривали ли вы Enterprise Architect или CodeSmith?
Есть множество других - вы можете даже захотеть использовать архитектуру, управляемую моделями. Разработайте свое решение в UML и сгенерируйте базу данных и код из модели UML. Для этого вы можете использовать комбинацию инструментов, например MagicDraw и Maven.