Cod*_*ody 18 c# nhibernate orm fluent-nhibernate
我和一位同事最近使用Fluent NHibernate为一个小应用程序做后端.我们编写了实体,映射文件,持久性管理器,但由于某种原因,我们无法将数据库模式导出到任何东西.
通过调试器,我们发现FluentMappings.AddFromAssemblyOf返回0映射,即使它们显然在那里,并且显然是正确的.我们尝试了我们能想到的一切,最终不得不手动添加每个映射.
以下是无效的代码:
return Fluently.Configure().Database(
MsSqlConfiguration.MsSql2005
.ConnectionString(c => c
.TrustedConnection()
.Server("localhost")
.Database("LDTT")))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
Run Code Online (Sandbox Code Playgroud)
虽然这段代码确实有效:
return Fluently.Configure().Database(
MsSqlConfiguration.MsSql2005
.ConnectionString(c => c
.TrustedConnection()
.Server("localhost")
.Database("LDTT")))
.Mappings(m => m.FluentMappings.Add<ClientMap>())
.Mappings(m => m.FluentMappings.Add<ContactMap>())
.Mappings(m => m.FluentMappings.Add<DepartmentMap>())
.Mappings(m => m.FluentMappings.Add<DivisionMap>())
.Mappings(m => m.FluentMappings.Add<FileMap>())
.Mappings(m => m.FluentMappings.Add<FileTypeMap>())
.Mappings(m => m.FluentMappings.Add<RegionMap>())
.Mappings(m => m.FluentMappings.Add<TimeEntryMap>())
.Mappings(m => m.FluentMappings.Add<UserMap>())
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会这样,以及如何解决它?