我有一个像
这样的实体[Serializable]
public class Person : AbstractEntity<Person>
{
public virtual Byte[] Image { get; set; }
}
我正在使用NHibernate 3.x.为什么我要避免将blob Image
保存到数据库(SQL Server Express 2010
)?还有更好的选择吗?
谢谢!
答案 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);
});