NHibernate: Custom Dialect - как указать класс в отдельной сборке - PullRequest
2 голосов
/ 02 марта 2011

У меня есть проект, который использует NHibernate, и у меня есть собственный диалект:


using System;
using System.Collections.Generic;
using System.Web;

    public class NHibernateMySQL5InnoDBDialect : NHibernate.Dialect.MySQL5Dialect
    {
        public override String TableTypeString { get { return " ENGINE=InnoDB DEFAULT CHARSET=utf8"; } }
    }

У меня есть отдельная сборка для этого класса: Assembly1. Assembly1 встроен в каталог, где находится NHibernate.dll.

В моем файле cfg я добавил:

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

Когда я запускаю свое приложение, я получаю следующую ошибку:

NHibernate.MappingException: Could not compile the mapping document: XXX.hbm.xml ---> NHibernate.HibernateException: Could not instantiate dialect class Assembly1.NHibernateMySQL5InnoDBDialect ---> System.TypeLoadException: Could not load type Assembly1.NHibernateMySQL5InnoDBDialect. Possible cause: no assembly name specified. at NHibernate.Util.ReflectHelper.TypeFromAssembly (NHibernate.Util.AssemblyQualifiedTypeName name, Boolean throwOnError) [0x00000] in :0

Я уверен, что этому есть очевидное объяснение, но я застрял на данный момент - не могли бы вы помочь?

С уважением Tymek

1 Ответ

8 голосов
/ 02 марта 2011
<property name="dialect">MyAssembly1.MyDialectClass1, MyAssembly1</property>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...