2008-12-03 7 views

Respuesta

13

Utilizamos BinaryBlob en el archivo de configuración de asignación y byte [] en la propiedad.

+6

Podría publicar código de ejemplo ?? ??????? –

1

A continuación se muestra el código de ejemplo que he utilizado para asignar un campo de imagen. Donde BlogImage era una columna de Image Datatype mapeada a la propiedad de tipo byte BlogImage. length = "2147483647" se utilizó para asegurar la copia de la imagen completa en la base de datos ya que nhibernate algunas veces limita el tamaño máximo de los datos que se van a insertar.

<?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> 
0

NHibernate 3.x hace toda la magia que tiene.

SQL:

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

NHibernate-Mapping (importante para establecer la longitud !!!):

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

C# -Class:

public class Company { 
    ... 
    private Image _logo; 
    ... 
} 
Cuestiones relacionadas