我正在处理使用字符串作为主键的既有数据库。 使用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 : 提供的 id 类型错误。期望类型:System.Int32,实际类型:System.String”。
如何解决这个问题?另外,是否有关于 Fluent NHibernate 的好文档可供参考?
提前感谢。