перепроектировать / создать интерфейс c # из таблицы сервера sql - PullRequest
1 голос
/ 22 сентября 2010

Кто-нибудь знает как об инструменте, где я могу указать на свою базу данных sql server, и она читает схему и генерирует классы интерфейса c # из таблиц?

например - скажем, у меня есть таблица с именем «Клиенты» со столбцом «Имя», столбец «Адрес» и столбец «Телефон», она создаст файл ICustomer.cs со строкой Имя {get; set;} строка Address {get; set;} и ​​int Phone {get; set;}

Я использую генератор «неполного» кода, и он не генерирует эти интерфейсы.

Ответы [ 7 ]

1 голос
/ 22 сентября 2010

Я не знаю, какой инструмент это делает, но я точно знаю, что вы можете сделать это сами довольно легко!

Установите строку, содержащую заголовок класса, а другую - с помощью нижнего колонтитула.

Затем создайте новый текстовый файл с именем вашей таблицы.

Запишите заголовок в файл.

Для тела просто напишите цикл чтения вашей таблицы, который извлекает имена и типы полей и пишет интерфейс с этой информацией.

В конце запишите нижний колонтитул в файл.

Вот вам и новый интерфейс!

(Поскольку интерфейсы представляют собой простые текстовые файлы, это действительно просто ...)

1 голос
/ 22 сентября 2010

Как насчет Linq to Sql O / R Designer ?

0 голосов
/ 06 июля 2015

My SqlSharpener Проект позволяет вам анализировать файлы SQL в время разработки , чтобы создать метамодель, которую вы затем можете использовать для генерации любого типа кода вам нравится в шаблоне T4. Например, вы можете создать Entity Framework Code First сущностей.

0 голосов
/ 30 сентября 2010

Вы также можете использовать MyGeneration

0 голосов
/ 30 сентября 2010

Я думаю, что могу использовать рефактор Resharpers 'Extract Interface', так как я уже сгенерировал класс.

Спасибо за вводные данные, хотя

0 голосов
/ 22 сентября 2010

Вам нужен инструмент, который позволяет настраивать шаблоны генерации кода.Рассматривали ли вы Enterprise Architect или CodeSmith ?

Существует множество других - вы можете даже захотеть использовать архитектуру на основе моделей.Разработайте свое решение в UML и сгенерируйте базу данных и код из модели UML.Для этого вы можете использовать комбинацию инструментов, например MagicDraw и Maven.

0 голосов
/ 22 сентября 2010

Вы можете использовать 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.

...