Нужна помощь в настройке строки подключения SQL Server CE в Fluent NHibernate - PullRequest
0 голосов
/ 30 декабря 2010

Я пытаюсь вернуть фабрику сеансов, используя этот код:

return Fluently.Configure()
.Database(MsSqlCeConfiguration.Standard.ShowSql().ConnectionString(path))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Project>())
.BuildSessionFactory();

Путь - это полный путь к файлу .sdf.

И получите это исключение:

System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0.
   at System.Data.SqlServerCe.ConStringUtil.GetKeyValuePair(Char[] connectionString, Int32 currentPosition, String& key, Char[] valuebuf, Int32& vallength, Boolean& isempty)

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 31 декабря 2010

Вот решение:

return Fluently.Configure()
                        .Database(MsSqlCeConfiguration.Standard.ShowSql().ConnectionString(c => c.Is("data source=" + path)))
                        .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Project>())
                        .BuildSessionFactory();

Источник здесь: http://marekblotny.blogspot.com/2009/02/fluentconfiguration-new-api-to.html

0 голосов
/ 30 декабря 2010

http://connectionstrings.com/sql-server-2005-ce

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

Data Source=C:\mydatabase.sdf;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Передайте это вместо пути.В идеале это должно быть в разделе строк подключения в вашем конфигурационном файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...