消耗流利的Nhibernate映射

时间:2010-07-30 15:11:10

标签: nhibernate fluent-nhibernate

我是DRY的忠实信徒,所以在用流畅的nhibernate设置ClassMap对象之后,如何在不使用Nhibernate的代码中使用这些映射?

编辑:示例,我有一个已映射的类,但也使用存储过程在单个数据库调用中填充自身及其子(及其子项)。从数据读取器填充对象时,最好在ClassMap中使用属性到列映射。

1 个答案:

答案 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;
}