Добавить Subsonic 3.0.0.4 в Visual Studio 2010 - PullRequest
1 голос
/ 27 августа 2010

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

    <?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());

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

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

1 Ответ

2 голосов
/ 28 августа 2010

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

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

...