无法在 fluencenhibernate 中使用 Guid Identity

发布于 2024-08-13 09:32:49 字数 824 浏览 5 评论 0原文

我有以下映射:

public class MyClassMap : ClassMap<MyClass>
{
    public MyClasseMap()
    {
        Table("TABLE_NAME");
        Id(x => x.Id).Column("TR_ID");
    }
}

当我尝试使用条件对象检索所有实体时,我得到以下信息:

System.FormatException : Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters) 在NHibernate.Loader.Loader.List(ISessionImplementor会话,QueryParameters queryParameters,ISet`1 querySpaces,IType [] resultTypes) 在NHibernate.Impl.SessionImpl.List(CriteriaImpl标准,IList结果) 在NHibernate.Impl.CriteriaImpl.List(IList结果) 在 NHibernate.Impl.CriteriaImpl.ListT

尝试了所有类型的映射变体。仍然没有工作。还使用 Fluent nhibernate 的最新二进制文件(#596)。我该如何让它发挥作用?

I have the following mapping:

public class MyClassMap : ClassMap<MyClass>
{
    public MyClasseMap()
    {
        Table("TABLE_NAME");
        Id(x => x.Id).Column("TR_ID");
    }
}

When I try to retrieve all the entities using criteria objects I get the following:

System.FormatException : Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet`1 querySpaces, IType[] resultTypes)
at NHibernate.Impl.SessionImpl.List(CriteriaImpl criteria, IList results)
at NHibernate.Impl.CriteriaImpl.List(IList results)
at NHibernate.Impl.CriteriaImpl.ListT

Tried all types of mapping variations. Still not working. Also using the latest binaries (#596) of fluent nhibernate. How do I get this to work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半透明的墙 2024-08-20 09:32:49

该实体看起来像这样:

 public class Entity
 {
   public Guid Id {get;set}
 }

该属性不是虚拟的,因为我已禁用延迟加载。

数据库为sqlserver2008(企业版64位),列的数据类型为“uniqueidentifier”。我使用的操作系统是 Windows 7。

我还有其他 Id 和 Pk 作为 int 的实体,它们工作得很好。

The entity looks something like this:

 public class Entity
 {
   public Guid Id {get;set}
 }

The property is not virtual as I have disabled lazy-loading.

The database is sqlserver2008(enterprise edition 64bit) and the data type of the column is "uniqueidentifier". The OS I am using is Windows 7.

I also have other entities with Id's and Pk's as int's and they work perfectly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文