使用Visual Studio .NET 2008或2005,有没有办法为SQL Server数据库表中的每个列自动生成属性?
我假设存在其他可以执行此操作的代码生成软件。我知道使用Visio我可以连接到我的数据库,它将按表生成图表,这与此类似。
答案 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)
答案 4 :(得分:0)
SubSonic / Rob Connery在博客中发表了关于使用T4作为生成Repository的工具的博客。 T4在VS 2005 SDK中,是VS 2008的原生。
答案 5 :(得分:0)
Visual Studio DataSet设计器也可以为您完成此任务。它生成的类很容易包裹数据库对象。只需将新DataSet添加到您的应用程序中即可。