我是DRY的忠实信徒,所以在用流畅的nhibernate设置ClassMap对象之后,如何在不使用Nhibernate的代码中使用这些映射?
编辑:示例,我有一个已映射的类,但也使用存储过程在单个数据库调用中填充自身及其子(及其子项)。从数据读取器填充对象时,最好在ClassMap中使用属性到列映射。
答案 0 :(得分:0)
也许这是你可能想要的东西:
我在一个非常快速的视图中提出了这个问题。检查 klass 变量。我很抱歉没有正确测试它。
public static ISessionFactory CreateSessionFactory()
{
return Fluently
.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(@"Server=SPO00615\SQLEXPRESS;Database=BOB;Integrated Security=true; "))
.Mappings(m => GetClassFrom(m))
.BuildSessionFactory();
}
private static FluentMappingsContainer GetClassFrom(MappingConfiguration m)
{
FluentMappingsContainer container =
m.FluentMappings.AddFromAssemblyOf<FactoryTests>();
var maps = container.PersistenceModel.BuildMappings();
foreach (var map in maps)
{
var klass = map.Classes.GetEnumerator().Current;
}
return container;
}