2008-12-03 6 views

Antwort

13

Wir verwendeten BinaryBlob für die Mapping-Konfigurationsdatei und Byte [] für die Eigenschaft.

+6

Könnten Sie Beispielcode schreiben ?? ??????? –

1

Unten ist der Beispielcode, den ich verwendet habe, um ein Bildfeld zuzuordnen. Wobei BlogImage eine Spalte von Image Datatype war, die der Byte-Type-Eigenschaft BlogImage zugeordnet war. length = "2147483647" wurde verwendet, um die Kopie des vollständigen Bildes in der Datenbank zu gewährleisten, da nhibernate einige Male die maximale Größe der einzufügenden Daten begrenzt.

<?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 macht all die Magie selbst.

Sql:

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

NHibernate-Mapping (wichtig Länge einzustellen !!!):

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

C# -Klasse:

public class Company { 
    ... 
    private Image _logo; 
    ... 
} 
Verwandte Themen