如何编写自定义nHibernate方言?

如何编写自定义nHibernate方言?,第1张

如何编写自定义nHibernate方言

这是一个方言示例

using System;using System.Collections.Generic;using System.Web;/// /// This class ensures that the tables created in our db are handling unipre properly./// public class NHibernateMySQL5InnoDBDialect : NHibernate.Dialect.MySQL5Dialect{    public override String TableTypeString { get { return " ENGINE=InnoDB DEFAULT CHARSET=utf8"; } }}

它所在的程序集引用了NHibernate.dll

hibernate.cfg.dll(请注意,我这里没有设置’connection.connection_string’属性,这是我的特定设置,通常您在这里会有连接字符串):

<?xml version="1.0" encoding="utf-8"?><!-- This is the ByteFX.Data.dll provider for MySql --><hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >  <session-factory name="NHibernate.Test">    <property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>    <property name="dialect">NHibernateMySQL5InnoDBDialect, Assembly1</property>    <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>  </session-factory></hibernate-configuration>

在某些设置中,方言行是

<property name="dialect">Assembly1.NHibernateMySQL5InnoDBDialect, Assembly1</property>

和创建ISessionFactory的代码:

NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();cfg.Configure();cfg.Properties["connection.connection_string"] = ConnectionStringForDatabase();cfg.AddDirectory(PathToMappingsIfYouUseNonStandardDirectory);//not needed if using embedded resourcesreturn cfg.BuildSessionFactory();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5058537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存