Как сопоставить поле varbinary (max) `SQL Server с отображением NHibernate ByCode? - PullRequest
3 голосов
/ 25 мая 2011

У меня есть класс со свойством типа byte[], который я хотел бы сопоставить с полем varbinary(max) в SQL Server, используя новое отображение NHibernate ByCode.

Пока, используя SchemaAction = SchemaAutoAction.Recreate для того, чтобы NH создал схему, я получил следующее (имя свойства класса "Data"):

  • Когда отображение не квалифицируется каким-либо образом, я получаю поле varbinary(8000)
  • Когда сопоставление равно map.Property(x => x.Data, m => m.Length(int.MaxValue)), я получаю поле «изображение» (которое, согласно документации по SQL Server, не будет поддерживаться в следующем выпуске SQL Server)
  • Когда отображение равно map.Property(x => x.Data, m => m.Type(TypeFactory.GetBinaryType(int.MaxValue)), я получаю поле varbinary(8000), которое кажется неправильным

Чего мне не хватает?

1 Ответ

2 голосов
/ 17 апреля 2012

Я столкнулся с той же проблемой, и это сработало для меня.

Property(e => e.Data, m => m.Column(cm => cm.SqlType("varbinary(MAX)")));
...