我需要有关配置NHibernate的帮助。在我的解决方案中有几个项目:第一个包含代码实体,第二个包含映射文件“* .hbm.xml”。
我通过代码配置。这是:
Configuration config = new Configuration().
Proxy(proxy => proxy.ProxyFactoryFactory<ProxyFactoryFactory>()).
DataBaseIntegration(db =>
{
db.Dialect<MsSql2008Dialect>();
db.ConnectionString = @"Data Source=(local)\SQLEXPRESS;Initial Catalog=MyDB;Integrated Security=True;Pooling=False";
db.BatchSize = 100;
}).AddAssembly("MyProject.DAL.Mappings");
此代码不会在数据库中创建表:
SchemaExport schemaExport = new SchemaExport(configuration);
schemaExport.Create(false, true);
此代码创建一个空文件:
SchemaExport schemaExport = new SchemaExport(configuration);
schemaExport.SetOutputFile(@"db.sql").Execute(false, false, false);
似乎NHibernate无法“拾取”映射文件。为什么呢?
提前致谢!
答案 0 :(得分:0)
由于映射文件位于单独的文件夹中 - nhibernate无法看到它们。由Configuration.AddDirectory()
决定。