从sql server表反向工程/创建c#接口

时间:2010-09-22 12:02:04

标签: c# code-generation reverse-engineering model-driven-development

有没有人知道我可以指向我的sql server数据库的工具怎么样,它会读取模式并从表中生成c#接口类?

例如 - 假设我有一个名为'Customers'的表,其中包含“Name”列,“Address”列和“Phone”列,它将生成一个ICUSTomer.cs文件,其中包含字符串Name {get; set;} string地址{get; set;}和int Phone {get; set;}

我正在使用“不完整”的代码生成器,它不会生成这些接口。

7 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我不知道这样做的工具,但我确信你可以很容易地自己做到这一点!

设置一个包含该类标题的字符串,另一个包含页脚。

然后,创建一个名为您的表的新文本文件。

将标题写入文件。

对于正文,只需编写一个读取表的循环,该循环将提取字段的名称和类型,并使用该信息编写接口。

最后,将页脚写入文件。

你可以使用全新的界面了!

(因为接口是纯文本文件,所以很容易......)

答案 2 :(得分:0)

您可以使用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

在SQLMetal的MSDN页面上有更多选项。

答案 3 :(得分:0)

您需要一个允许您自定义代码生成模板的工具。您是否考虑过Enterprise ArchitectCodeSmith

还有很多其他的 - 您甚至可能想要使用模型驱动架构。使用UML设计解决方案,并从UML模型生成数据库和代码。您可以使用组合工具,例如MagicDraw和Maven。

答案 4 :(得分:0)

我想我可以使用Resharpers的Extract Interface'重构,因为我已经生成了这个类。

感谢每个人输入

答案 5 :(得分:0)

您也可以使用MyGeneration

答案 6 :(得分:0)

我的 SqlSharpener 项目允许您在设计时解析SQL文件以创建元模型,然后您可以使用该模型生成任何类型的代码你喜欢在T4模板中。例如,您可以创建Entity Framework Code First个实体。