NHibernate自定义MsSql2008Dialect驱动程序

时间:2012-04-17 16:39:43

标签: c# nhibernate

我的上一个问题已被关闭,因为它被解释为“宽泛而含糊”,所以我会尽力清理。

我需要为NHibernate创建一个自定义驱动程序来做一些事情(对帖子不重要),但我不知道从哪里开始。 我有一个我在互联网上看到的代码,但我不知道如何完成它:

public class teste : NHibernate.Driver.ReflectionBasedDriver
{
    public teste()
        :base()
    {

    }

我的问题出在:base()部分,我不知道我需要把它放在那里!

由于

P.S->为了上帝的缘故,自上次关闭以来,这不是一个重复的帖子!

1 个答案:

答案 0 :(得分:1)

这个问题注定要失败,因为“我想做的事情”并不能真正帮助我们。如果NHibernate需要一个程序集但你需要使用另一个程序集,你可以使用ReflectionBasedDriver。

例如,如果我想使用mono sqlite(因为NHibernate需要SQLite.NET),那么我会使用: -

    public MyClass() : base("Mono.Data.Sqlite", 
        "Mono.Data.Sqlite.SqliteConnection", "Mono.Data.Sqlite.SqliteCommand")
    {

    public override bool UseNamedPrefixInSql
    {
        get { return true; }
    }

    public override bool UseNamedPrefixInParameter
    {
        get { return true; }
    }

    public override string NamedPrefix
    {
        get { return "@"; }
    }
}

在此之后我非常怀疑你实际上是这样的:

public class MyDialect : NHibernate.Dialect.MsSql2008Dialect
{
}

由于自定义方言允许您指定自己的配置。