使用Visual Studio .NET 2008或2005,有没有办法为SQL Server数据库表中的每一列自动生成属性?有没有办法从SQL Server数据库自动创建属性?
我假设其他代码生成软件存在,将这样做。我知道与Visio我可以连接到我的数据库,它会生成按表格,这将是类似的。
使用Visual Studio .NET 2008或2005,有没有办法为SQL Server数据库表中的每一列自动生成属性?有没有办法从SQL Server数据库自动创建属性?
我假设其他代码生成软件存在,将这样做。我知道与Visio我可以连接到我的数据库,它会生成按表格,这将是类似的。
LINQ2SQL在.NET 3.5(VS2008)是你在找什么。
添加LINQ2SQL DBML文件到您的解决方案/项目
创建与服务器资源管理器
拖动到数据库的连接,并删除表/视图/存储过程
代码生成是为你做。 ..(和它的该死的:) :)
mygeneration真的很酷,也可以让你创建自己的模板,给你很多矿石的力量来生成数据访问,实体类等“常用”类。
CodeSmith中:
<%--
Name: Database Table Properties
Authors: Paul Welter , Yordan Georgiev
Description: Create a list of properties from a database table with a region for each prop
--%>
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debug="False" Description="Create a list of properties from database table." %>
<%@ Property Name="SourceTable" Type="SchemaExplorer.TableSchema" Category="Context" Description="Table that the object is based on." %>
<%@ Map Name="CSharpAlias" Src="System-CSharpAlias" Description="System to C# Type Map" %>
<%@ Assembly Name="SchemaExplorer" %>
<%@ Import Namespace="SchemaExplorer" %>
<% foreach (ColumnSchema column in this.SourceTable.Columns) { %>
#region <%= StringUtil.ToPascalCase(column.Name) %>
private <%= CSharpAlias[column.SystemType.FullName] %> _<%= StringUtil.ToPascalCase(column.Name) %>;
public <%= CSharpAlias[column.SystemType.FullName] %> <%= StringUtil.ToPascalCase(column.Name) %>
{
get { return _<%= StringUtil.ToPascalCase(column.Name) %>; }
set { _<%= StringUtil.ToPascalCase(column.Name) %> = value; }
}
#endregion <%= StringUtil.ToPascalCase(column.Name) %>
<% } %>
亚音速/罗布康纳利在博客有关使用T4作为产生Repository的工具。 T4在VS 2005 SDK中,并且是VS 2008的原生代码。
Visual Studio DataSet设计器也可以为您完成此操作。它生成的类很容易包装数据库对象。只需将一个新的DataSet添加到您的应用程序。
我还没有跳进LINQ,我真的希望它只是生成属性代码,以手动保存所有的输入......但我的建议已经启动并且运行得很快,所以也许是时候跳到这里了。 – mccrager 2009-04-23 14:33:10