2010-08-27 2 views
1

Я создал консольное приложение, ориентированное на C# 3.5, и добавил ссылку на System.Web, System.Configuration и Subsonic.Core. Кроме того, есть в конфигурационном файлеДобавить Subsonic 3.0.0.4 в Visual Studio 2010

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    </configSections> 
    <connectionStrings> 
     <add name="UpdateCotswolds.Properties.Settings.Live_IntegraConnectionString" connectionString="Data Source=POSERVER;Initial Catalog=Live_Integra;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration> 

Я тогда отредактирован Settings.ttinclude

const string Namespace = "Integra.Data"; 
    const string ConnectionStringName = "UpdateCotswolds.Properties.Settings.Live_IntegraConnectionString"; 

    //This is the name of your database and is used in naming 
    //the repository. By default we set it to the connection string name 
    const string DatabaseName = "Live_Integra"; 

И потащил в Tt файлов.

Когда они работают, я получаю ошибку ...

Error 2 Running transformation: System.InvalidOperationException: Sequence contains more than one matching element 
    at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate) 
    at Microsoft.VisualStudio.TextTemplating47D0892A160210D689C6B90986A9AE0D.GeneratedTextTransformation.LoadTables() in c:\Programming\UpdateCotswolds\UpdateCotswolds\SQLServer.ttinclude:line 134 
    at Microsoft.VisualStudio.TextTemplating47D0892A160210D689C6B90986A9AE0D.GeneratedTextTransformation.TransformText() in c:\Programming\UpdateCotswolds\UpdateCotswolds\ActiveRecord.tt:line 23 
    at Microsoft.VisualStudio.TextTemplating.TransformationRunner.RunTransformation(TemplateProcessingSession session, String source, ITextTemplatingEngineHost host, String& result) 

Это линия в вопросе ...

var pkColumn=tbl.Columns.SingleOrDefault(x=>x.Name.ToLower().Trim()==tbl.PrimaryKey.ToLower().Trim()); 

Я предполагаю, что я делаю глупые ошибки и, надеюсь, кто-то может задать мне прямо ...

заранее спасибо ...

ответ

2

Оказывается, что в определенной таблице га s более одного первичного ключа? Можете ли вы опубликовать свою схему? Или, может быть, ваши ПК и FK являются точными именами, а SS запутывается.

Возможно, вы можете играть со строкой [] ExcludeTables = new string [] {}; свойство, найденное в разделе «Settings.ttinclude», пока оно не работает, и не предоставит схему для этой таблицы.

+0

Это большая схема, и мы ее не владеем ... есть ли способ отладки процедуры tt? –

+0

, очевидно, есть http://msdn.microsoft.com/en-us/library/bb126338.aspx#Stepping –

+0

Это не просто :) - Надеюсь, к настоящему времени вы нашли проблему? – DaveHogan

Смежные вопросы