【发布时间】:2009-05-15 03:13:52
【问题描述】:
我正在尝试在 sql server 2008 中使用 Filestream 来存储用户上传的图像。
我的问题是 NHibernate 不会出错,但它也不会将数据保存到数据库中。没有创建记录。
下面的 Image 类是一个自定义类(不要与 System.Drawing.Image 混淆)
public class ImageMap : ClassMap<Image>
{
public ImageMap()
{
WithTable("Images");
Id(x => x.ImageId).GeneratedBy.GuidComb().WithUnsavedValue(Guid.Empty);
Map(x => x.ImageData);
Map(x => x.Extension);
References(x => x.Owner, "UserId");
}
}
我的保存方法如下:
public void Save(Image image)
{
ISession session = GetSession();
session.SaveOrUpdate(image);
}
也许我保存错误,也许我的映射已关闭。 ImageData 是数据库中的 varbinary(max) 字段。
【问题讨论】:
-
那么,您是否成功地将 SQL 2008 Filestream 属性与 NHibernate 一起使用?这是我能找到的唯一一篇帖子。
-
我们最终放弃了使用 Filestream。我相信我们永远无法让它与 Nhibernate 一起正常工作。祝你好运!
-
如果您有兴趣使用文件流stackoverflow.com/a/33636478/2690296,可以看看这个答案
标签: nhibernate fluent-nhibernate filestream varbinary