Я работаю с базой данных устаревшего типа, которая использует строки в качестве первичных ключей. Использование 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?
Заранее спасибо.