无法在fluentnhibernate中使用Guid标识
我有以下映射:无法在fluentnhibernate中使用Guid标识,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我有以下映射: public class MyClassMap : ClassMap<MyClass> { public MyClasseMap() { Table("TABLE_NAME"); Id(x => x.Id).Column("TR_ID"); } } 在NHibernate.Loader.Loader.DoList(ISessionImplementor会话,QueryParameters QueryPar
public class MyClassMap : ClassMap<MyClass>
{
public MyClasseMap()
{
Table("TABLE_NAME");
Id(x => x.Id).Column("TR_ID");
}
}
在NHibernate.Loader.Loader.DoList(ISessionImplementor会话,QueryParameters QueryParameters)
在NHibernate.Loader.Loader.List(ISessionImplementor会话,QueryParameters QueryParameters,ISet`1 QuerySpace,IType[]结果类型)
在NHibernate.Impl.SessionImpl.List(CriteriaImpl标准,IList结果)
在NHibernate.Impl.CriteriaImpl.List(IList结果)
在NHibernate.Impl.CriteriaImpl.ListT
尝试了所有类型的映射变体。仍然不起作用。还使用fluent nhibernate的最新二进制文件(#596)。如何使其工作?实体看起来如下所示:
public class Entity
{
public Guid Id {get;set}
}
该属性不是虚拟的,因为我已禁用延迟加载
数据库为sqlserver2008(企业版64位),列的数据类型为“uniqueidentifier”。我使用的操作系统是Windows7
我还有其他Id和Pk为int的实体,它们工作得很好。你能给我们看看你的实体吗?您的
TR\u ID
列的数据类型是什么?请尝试使用.GeneratedBy.XXX()作为您的ID。我在Windows7上使用SQLEXPRESS 2008时也是这样,但使用32位
public class Entity
{
public Guid Id {get;set}
}