2014-10-11 6 views
2

Я занимаюсь разработкой проекта .net, и я использую первый раз, SQL Server 2012 с Fluent NHibernate, когда я работает мой проект, я получаю следующую ошибку =>Fluent NHibernate SQL Server 2012

Значение не может быть пустым ,

Имя параметра: Источник данных

Описание: Необработанное исключение при выполнении текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.ArgumentNullException: Значение не может быть null. Имя Параметр: Источник данных

Моя конфигурация синтаксиса

Fluently.Configure() 
    .Database(
     MsSqlConfiguration.MsSql2012.ConnectionString(c => c.FromAppSetting("ConnectionString"))) 
     .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())) 
     .CurrentSessionContext<T>() 
     .BuildSessionFactory(); 

и моя строка соединения в web.config:

<connectionStrings> 
    <add name="ConnectionString" 
     connectionString="Data Source=localhost; Initial Catalog=ExcelReport; Integrated Security=true;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Я пробовал различные способы, но я не мог решить эту проблему , Есть ли у вас предложения?

+0

При подключении к SQL серверу через SSMS, запустите этот 'ВЫБРАТЬ @ SERVERNAME' в окне запроса, а также использование возвращаемое значение в вашей Proxy. –

+0

Я пробовал, но он не работает, спасибо. – Eren

ответ

2

<connectionStrings> - это не то же самое, что и <appSettings>.

Строка подключения отсутствует в настройках приложения.

Вы строка соединения в <connectionStrings>

поэтому Вам нужно использовать FromConnectionStringWithKey вместо FromAppSetting.

Например:

c => c.FromConnectionStringWithKey("ConnectionString") 

Ваш синтаксис конфигурации должен быть:

Fluently.Configure() 
    .Database(
     MsSqlConfiguration.MsSql2012.ConnectionString(c => c.FromConnectionStringWithKey("ConnectionString"))) 
     .Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())) 
     .CurrentSessionContext<T>() 
     .BuildSessionFactory(); 
+1

Да. Спасибо за помощь. – Eren

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