有没有办法从SQL Server数据库创建自动创建属性?

时间:2009-04-23 13:56:24

标签: sql-server vb.net visual-studio-2008 visual-studio-2005

使用Visual Studio .NET 2008或2005,有没有办法为SQL Server数据库表中的每个列自动生成属性?

我假设存在其他可以执行此操作的代码生成软件。我知道使用Visio我可以连接到我的数据库,它将按表生成图表,这与此类似。

6 个答案:

答案 0 :(得分:2)

.NET 3.5(VS2008)中的Linq2SQL正是您所需要的。

将Linq2SQL DBML文件添加到您的解决方案/项目

使用SErver Explorer创建与数据库的连接

拖放Tables / views / Sprocs

代码生成已经为你完成了......(而且该死的很酷:))

答案 1 :(得分:1)

mygeneration非常酷,还可以让你创建自己的模板,为你提供很多能力,为数据访问,实体类等生成“常用”类。

答案 2 :(得分:1)

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) %>
<% } %>

答案 3 :(得分:0)

查看MyGeneration

答案 4 :(得分:0)

SubSonic / Rob Connery在博客中发表了关于使用T4作为生成Repository的工具的博客。 T4在VS 2005 SDK中,是VS 2008的原生。

答案 5 :(得分:0)

Visual Studio DataSet设计器也可以为您完成此任务。它生成的类很容易包裹数据库对象。只需将新DataSet添加到您的应用程序中即可。