当前位置:  开发笔记 > 数据库 > 正文

结合NHibnernate的Fluent和XML映射

如何解决《结合NHibnernate的Fluent和XML映射》经验,为你挑选了0个好方法。

我刚刚爱上了NHibernate和流畅的界面.后者支持非常好的映射和重构支持(不再需要xml文件).

但没有人是完美的,所以我错过了流利的多对多映射.有人知道它是否已经存在吗?如果是这样,一行简单的代码就会很好.

但要坚持问题的标题,有没有办法结合流畅和正常的NHibernate映射.

目前我使用以下行进行我的测试设置WITH Fluent,以及第二个代码块用于我的测试WITHOUT流畅(使用XML映射).如何判断流利使用流畅的IF AVAILABLE和XML否则......

        var cfg = new Configuration();
        cfg.AddProperties(MsSqlConfiguration.MsSql2005.ConnectionString.Is(_testConnectionstring).ToProperties());
        cfg.AddMappingsFromAssembly(typeof(CatMap).Assembly);
        new SchemaExport(cfg).Create(true, true);

        var persistenceModel = new PersistenceModel();
        persistenceModel.addMappingsFromAssembly(typeof(CatMap).Assembly);
        IDictionary properties = MsSqlConfiguration.MsSql2005.UseOuterJoin().ShowSql().ConnectionString.Is(_testConnectionstring).ToProperties();
        properties.Add("command_timeout", "340");

        session = new SessionSource(properties, persistenceModel).CreateSession();

没有流利......

        config = new Configuration();
        IDictionary props = new Hashtable();

        props["connection.provider"] = "NHibernate.Connection.DriverConnectionProvider";
        props["dialect"] = "NHibernate.Dialect.MsSql2005Dialect";
        props["connection.driver_class"] = "NHibernate.Driver.SqlClientDriver";
        props["connection.connection_string"] = "Server=localhost;initial catalog=Debug;Integrated Security=SSPI";
        props["show_sql"] = "true";
        foreach (DictionaryEntry de in props)
        {
            config.SetProperty(de.Key.ToString(), de.Value.ToString());
        }
        config.AddAssembly(typeof(CatMap).Assembly);

        SchemaExport se = new SchemaExport(config);
        se.Create(true, true);

        factory = config.BuildSessionFactory();
        session = factory.OpenSession();

就是这样......克里斯

PS:我真的很喜欢这个网站,GUI很完美,所有文章的质量都令人难以置信.我认为这将是巨大的:-)必须注册...

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有