Как сопоставить тип изображения в NHibernate?

У меня в базе данных SQL Server 2000 есть столбец с типом Image. Как я могу сопоставить его с NHibernate?


person Victor Rodrigues    schedule 03.12.2008    source источник


Ответы (3)


Мы использовали BinaryBlob в файле конфигурации сопоставления и byte[] в свойстве.

person Victor Rodrigues    schedule 03.12.2008

Ниже приведен пример кода, который я использовал для сопоставления поля изображения. Где BlogImage был столбцом типа данных изображения, сопоставленным со свойством байтового типа BlogImage. length="2147483647" использовался для обеспечения копирования полного изображения в базу данных, поскольку nhibernate иногда ограничивает максимальный размер данных, которые будут вставлены.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true">
<class name="EAS.MINDSPACE.Infrastructure.Business.Entities.BlogMaster,EAS.MINDSPACE.Infrastructure.Business.Entities" lazy="false" table="BlogMaster" schema="dbo" >
<id name="BlogId" column="BlogId">
  <generator class="native" />
</id>
<property name="BlogData" column="BlogData" />
<property name="BlogImage" column="BlogImage" length="2147483647"  />
<property name="UserId" column="UserId" />
  <property name="CreatedByName" column="CreatedBy" />
  <property name="CreatedOn" column="CreatedOn" />
  <property name="ReplyCount" column="ReplyCount" />

 </class>
</hibernate-mapping>
person Abhijit_Srikumar    schedule 03.04.2014

NHibernate 3.x делает все сам.

SQL:

Create table tblCompany (..., Logo image);

NHibernate-Mapping (важно установить длину!!!):

<class name="Company"
     table="tblCompany">
     ...         
     <property name="_logo"
          column="Logo"
          not-null="false"
          length="2147483647"
          access="field" />
     ...
</class>

С#-класс:

public class Company {
    ...
    private Image _logo;
    ...
}
person Tobias    schedule 01.04.2015