Как использовать строковые ключи в (быстро) NHibernate

Я работаю с базой данных устаревшего типа, которая использует строки в качестве первичных ключей. Использование Fluent NHibernateс Sqlite(поставщик в памяти для модульного тестирования) и SQL Server 2005.

У меня есть следующий объект:

public class Entity
{
    public virtual DateTime TimeStamp { get; set; }

    public virtual string Name { get; set; }
}

С этим сопоставлением:

public class EntityMap : ClassMap<Entity>
{
    public EntityMap()
    {
        Map(_ => _.TimeStamp);
        Id(_ => _.Name).CustomType("AnsiString");
    }
}

Однако это не работает, говоря NHibernate.TypeMismatchException : Предоставлен идентификатор неправильного типа. Ожидается: System.Int32, получено System.String

. Как это работает? Кроме того, есть ли хорошая документация о свободном доступе к nhibernate?

Заранее спасибо.

5
задан the_joric 14 March 2012 в 00:09
поделиться