Невозможно использовать идентификатор Guid в fluentnhibernate - PullRequest
0 голосов
/ 04 декабря 2009

У меня есть следующее отображение:

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).

в NHibernate.Loader.Loader.DoList (сеанс ISessionImplementor, 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

Перепробовал все типы картографических вариаций. До сих пор не работает. Также используются последние двоичные файлы (# 596) свободно используемого nhibernate. Как мне заставить это работать?

1 Ответ

0 голосов
/ 05 декабря 2009

Сущность выглядит примерно так:

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

Свойство не является виртуальным, поскольку я отключил отложенную загрузку.

База данных sqlserver2008 (64-разрядная версия предприятия), а тип данных столбца - «уникальный идентификатор». Я использую ОС Windows 7.

У меня также есть другие сущности с Id и Pk как int, и они отлично работают.

...