подключиться к базе данных с T4? - PullRequest
2 голосов
/ 28 января 2011

как я могу подключиться к локальной базе данных с T4? Я пробую этот код, но он не работает. IAM использует vs.net 2010 и SQL2008 с аутентификацией Windows, Iam пытается подключиться к моему локальному серверу, к этой базе данных, чтобы получитьсвойства

<#@ template language="C#v3.5" #>
<#@ output extension=".cs" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="Microsoft.SqlServer.ConnectionInfo" #>
<#@ assembly name="Microsoft.SqlServer.Smo" #>
<#@ assembly name="Microsoft.SqlServer.Management.Sdk.Sfc" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ import namespace="Microsoft.SqlServer.Management.Smo" #>
<#@ import namespace="Microsoft.SqlServer.Management.Common" #>


namespace T4SNUG.Entities
{

<# Server server = new Server(".");
Database db = server.Databases["Chinook"]};#>

1 Ответ

2 голосов
/ 01 мая 2011

Да, это должно работать.

Вы видите сообщение об ошибке или исключение в окне вывода?

Я могу использовать следующий код в T4:

<#@ output extension=".txt" #>
<#@ assembly name="System.Data" #>
<#@ assembly name="System.Core.dll" #>
<#@ assembly name="System.Xml" #>
<#@ assembly name="Microsoft.SqlServer.ConnectionInfo" #>
<#@ assembly name="Microsoft.SqlServer.Smo" #>
<#@ assembly name="Microsoft.SqlServer.Management.Sdk.Sfc" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Data.SqlClient" #>
<#@ import namespace="Microsoft.SqlServer.Management.Smo" #>
<#@ import namespace="Microsoft.SqlServer.Management.Common" #>


<# 
    var server = new Server(".\\SQLEXPRESS");
    var db = server.Databases["moviereviews"];
    foreach(var property in db.GetType()
                              .GetProperties()
                              .Where(p=>p.PropertyType == typeof(string)))
    {
#>
        <#= property.Name #> : <#= property.GetValue(db, null) #>
<#      
    }
#>

, и он дает мне:

Name : moviereviews
Collation : SQL_Latin1_General_CP1_CI_AS
DatabaseSnapshotBaseName : 
DefaultFileGroup : PRIMARY
DefaultFileStreamFileGroup : 
DefaultFullTextCatalog : 
DefaultSchema : dbo
MirroringPartner : 
MirroringPartnerInstance : 
MirroringWitness : 
...
...