Я работаю с базой данных brownfield, которая использует строки в качестве первичных ключей.Использование 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 : Provided id of the wrong type. Expected: System.Int32, got System.String
Как это работает?Кроме того, есть ли хорошая документация о свободном доступном nhibernate?
Заранее спасибо.