操纵图像。 Nhibernate + ASP.NET MVC

时间:2012-01-24 14:19:41

标签: c# database image nhibernate

我有一个像

这样的实体
[Serializable]
public class Person : AbstractEntity<Person>
{
    public virtual Byte[] Image { get; set; }
}

我正在使用NHibernate 3.x.为什么我要避免将blob Image保存到数据库(SQL Server Express 2010)?还有更好的选择吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

保存图像时,将其保存到非显而易见的文件夹,并将图像文件的名称更改为唯一的文件名(我假设您有一个可以使用的ID字段),将文件名保存到数据库。 假设您想要将视图与人物模型绑定,您可以执行类似

的操作
<img src='imagepath/model.imagepath'/>

这是我以前用于我的网站,我有一个家庭项目,我遵循相同的方法。它只是一种替代商店照片作为blob。

希望有所帮助

答案 1 :(得分:0)

让你的财产只读

<property name="..." column="..." insert="false" update="false" />

或者如果您使用代码映射,那么

Property(p => p.Image, m =>
{
    m.Column("...");
    m.Insert(false);
    m.Update(false);
});