配置FluentNHibernate,FluentMappings.AddFromAssembly;含义

时间:2011-01-27 10:14:17

标签: c# .net nhibernate fluent-nhibernate nhibernate-mapping

该行

    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Product>()

它做什么?它会查找从ClassMap派生的Product类程序集中的任何类吗?或者背后的逻辑是什么?我可以在这里放置任何随机类的程序集并期望它在这个程序集中找到所有映射类吗?

    private static ISessionFactory CreateSessionFactory()
    { 
          return Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2008
            .ConnectionString(Properties.Settings.Default.FnhDbString)
            .Cache(c => c
                .UseQueryCache()).ShowSql())
            .Mappings(m => m.FluentMappings.AddFromAssemblyOf<Product>()
            .Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never()))
            .BuildSessionFactory();
    }

1 个答案:

答案 0 :(得分:4)

我一直认为当你使用AddFromAssemblyOf时,fluent会尝试映射程序集中的每个类。

因此,您只需要从包含ClassMap的程序集中添加一个类(任何一个)。

fluent wiki

的其他内容
  

..然后添加任何流畅的映射   包含YourEntity的程序集