Fluent nhibernate 流畅。在不显式输入类型的情况下进行配置

Fluent nhibernate 流畅。在不显式输入类型的情况下进行配置,fluent-nhibernate,Fluent Nhibernate,我试着让我的流畅映射超越我在这里找到的基本内容: 其中,他们明确添加每种类型,如下所示: ISessionFactory localFactory = Fluently.Configure() .Database( ObjectFactory.GetInstance<SybaseConfiguration>().GetSybaseDialect( "BLAH" ) ) .

我试着让我的流畅映射超越我在这里找到的基本内容:

其中,他们明确添加每种类型,如下所示:

ISessionFactory localFactory =
                Fluently.Configure()
                    .Database( ObjectFactory.GetInstance<SybaseConfiguration>().GetSybaseDialect( "BLAH" ) )
                    .Mappings( m =>
                    {
                        m.HbmMappings
                            .AddFromAssemblyOf<StudTestEO>();
                        m.FluentMappings
                            .AddFromAssemblyOf<StudTestEO>()
                            .AddFromAssemblyOf<StudTestEOMap>();
                    } )
                    .BuildSessionFactory();  .BuildSessionFactory();
ISessionFactory本地工厂=
fluent.Configure()
.Database(ObjectFactory.GetInstance().GetSybaseDialante(“BLAH”))
.Mappings(m=>
{
m、 HbmMappings
.AddFromAssemblyOf();
m、 FluentMappings
.AddFromAssemblyOf()的
.AddFromAssemblyOf();
} )
.BuildSessionFactory()。BuildSessionFactory();
然后尝试获取程序集,获取它的类型列表,并将其传递进来 反而

有点像这样

string FullEoAssemblyFName = webAccessHdl.GetMapPath(EoAssemblyFName);
            string FullMapAssemblyFName = webAccessHdl.GetMapPath(MapAssemblyFName);
            string FullConfigFileName = webAccessHdl.GetMapPath("~/" + NHibernateConfigFileName);

            if (!File.Exists(FullEoAssemblyFName))
                throw new Exception("GetFactoryByConfigFile, EoAssemblyFName does not exist>" + FullEoAssemblyFName + "<");
            if (!File.Exists(FullMapAssemblyFName))
                throw new Exception("GetFactoryByConfigFile, MapAssemblyFName does not exist>" + FullMapAssemblyFName + "<");
            if (!File.Exists(FullConfigFileName))
                throw new Exception("GetFactoryByConfigFile, ConfigFile does not exist>" + FullConfigFileName + "<");

            Configuration configuration = new Configuration();

            Assembly EoAssembly = Assembly.LoadFrom(webAccessHdl.GetMapPath(EoAssemblyFName));
            Assembly MapAssembly = Assembly.LoadFrom(webAccessHdl.GetMapPath(MapAssemblyFName));

            Type[] EoType = EoAssembly.GetTypes();
            Type[] MapType = MapAssembly.GetTypes();
ISessionFactory localFactory =
                fluent.Mappings(
                    m =>
                        {

                            // how do i add all the types from type array here?
                            m.FluentMappings.Add(MapAssembly).AddFromAssembly(EoAssembly);


                        }
                )
                .BuildSessionFactory();
string FullEoAssemblyFName=webAccessHdl.GetMapPath(EoAssemblyFName);
字符串FullMapAssemblyFName=webAccessHdl.GetMapPath(MapAssemblyFName);
字符串FullConfigFileName=webAccessHdl.GetMapPath(“~/”+NHibernateConfigFileName);
如果(!File.Exists(FullEoAssemblyFName))
抛出新异常(“GetFactoryByConfigFile,EoAssemblyFName不存在>”+FullEoAssemblyFName+“”+FullMapAssemblyFName+“”+FullConfigFileName+”
config.Mappings(m=>m
.FluentMappings.AddFromAssemblyOf());
这将添加包含StudTest的程序集中的所有映射;通常我只有一个包含项目映射的程序集,这样就足够了

config.Mappings(m => m
      .FluentMappings.AddFromAssemblyOf<StudTest>());