功能NHibernate的SQL Server 2012
问题描述:
我正在开发一个.NET项目,我用流利的NHibernate的第一次SQL Server 2012中,当我跑我的项目,我碰到下面的错误=>功能NHibernate的SQL Server 2012
值不能为空。
参数名:数据源
说明:在当前Web请求的执行过程中发生未处理的异常。请查看堆栈跟踪以获取有关该错误的更多信息以及源代码的位置。
异常详细信息:System.ArgumentNullException:值不能为空。 参数名:数据源
我的配置语法
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>
我已经试过各种方法,但我无法修复的问题。你有什么建议吗?
答
<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 2014-10-12 13:59:24
当您连接到SQL Server通过SSMS,运行这个'SELECT @ SERVERNAME'在一个查询窗口,并使用数据源Proerty中返回的值。 – 2014-10-11 20:29:44
我试过了,但不起作用谢谢。 – Eren 2014-10-11 21:00:20