流畅的NHibernate BinaryBlobType

Ben*_*nni 4 blob fluent-nhibernate

今天我正在研究MySQL数据库,我不知道如何将字节[]映射到BLOB列...

我的表看起来像这样:

CREATE  TABLE `images` (
`Id` INT NOT NULL AUTO_INCREMENT ,
`imgText` VARCHAR(45) NULL ,
`image` BLOB NULL ,
 PRIMARY KEY (`Id`) );
Run Code Online (Sandbox Code Playgroud)

制图:

public class imagesMap : ClassMap<images> {
    public imagesMap() {
        Id(x => x.Id);
        Map(x => x.imgText);
        Map(x => x.image).CustomType<BinaryBlobType>();
    }
}
Run Code Online (Sandbox Code Playgroud)

Buisnessobject:

public class images {

    public virtual int Id{get;set;}
    public virtual string imgText{get;set;}
    public virtual Byte[] image{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

如果我启动我的应用程序,我立即得到一个例外:

NHibernate.MappingException:无法实例化IType BinaryBlobType:System.MissingMethodException他说这个IType是"No Constructor defined"

我无法解释为什么它不起作用,每个人都告诉我,我只需要映射CustomType()

我很感激每一个帮助!

格雷茨,本尼

Ben*_*nni 5

好的,10分钟后我自己找到了解决问题的方法.

对于每个也遇到这个问题的人:

用于映射a

public virtual byte[] array;
Run Code Online (Sandbox Code Playgroud)

对于BLOB,您不需要定义自定义类型,FNH甚至可以"自动"执行此操作.

字节数组的映射应该如下:

Map(x=>x.array);
Run Code Online (Sandbox Code Playgroud)