无法在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}
 }