我研究NHibernate并尝试重复从视频课程创建应用程序,
我创建了数据库,模型,XML文件,然后我编写了这段代码
using System;
using System.Reflection;
using NHibernate.Cfg;
using NHibernate.Dialect;
using NHibernate.Driver;
namespace NHibernateDemo
{
internal class Program
{
static void Main(string[] args)
{
var cfg = new Configuration();
cfg.DataBaseIntegration(x =>
{
x.ConnectionString = "Server=localhost; Database=NHibernateDemo; Integrated Security = SSPI";
x.Driver<SqlClientDriver>();
x.Dialect<MsSql2008Dialect>();
});
cfg.AddAssembly(Assembly.GetExecutingAssembly());
var sessionFactory = cfg.BuildSessionFactory();
using (var session = sessionFactory.OpenSession())
using (var tx = session.BeginTransaction())
{
var customers = session.CreateCriteria<Customer>()
.List<Customer>();
foreach (var customer in customers)
{
Console.WriteLine("{0} {1}", customer.FirstName, customer.LastName);
}
tx.Commit();
Console.WriteLine("Enter any key to exit...");
Console.ReadKey();
}
}
}
}
但是当我尝试调试它时, SqlExeption未处理
我想我需要在我的代码中添加登录名和密码,但有人可以解释一下如何操作吗?
答案 0 :(得分:2)
您正在使用集成安全性,运行代码的用户必须具有访问权限:
Server=localhost; Database=NHibernateDemo; Integrated Security = SSPI
您可以更改连接字符串以使用sql帐户或授予用户访问数据库的权限。
配置连接字符串:connectionstrings