2009-04-23 63 views
1

使用Visual Studio .NET 2008或2005,有沒有辦法爲SQL Server數據庫表中的每一列自動生成屬性?有沒有辦法從SQL Server數據庫自動創建屬性?

我假設其他代碼生成軟件存在,將這樣做。我知道與Visio我可以連接到我的數據庫,它會生成按表格,這將是類似的。

回答

2

LINQ2SQL在.NET 3.5(VS2008)是你在找什麼。

添加LINQ2SQL DBML文件到您的解決方案/項目

創建與服務器資源管理器

拖動到數據庫的連接,並刪除表/視圖/存儲過程

代碼生成是爲你做。 ..(和它的該死的:) :)

+0

我還沒有跳進LINQ,我真的希望它只是生成屬性代碼,以手動保存所有的輸入......但我的建議已經啓動並且運行得很快,所以也許是時候跳到這裏了。 – mccrager 2009-04-23 14:33:10

1

mygeneration真的很酷,也可以讓你創建自己的模板,給你很多礦石的力量來生成數據訪問,實體類等「常用」類。

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

亞音速/羅布康納利在博客有關使用T4作爲產生Repository的工具。 T4在VS 2005 SDK中,並且是VS 2008的原生代碼。

0

Visual Studio DataSet設計器也可以爲您完成此操作。它生成的類很容易包裝數據庫對象。只需將一個新的DataSet添加到您的應用程序。

相關問題