带NHibernate的Sql 2008文件流

带NHibernate的Sql 2008文件流,nhibernate,fluent-nhibernate,filestream,varbinary,Nhibernate,Fluent Nhibernate,Filestream,Varbinary,我正在尝试使用SQLServer2008中的Filestream存储用户上载的图像 我的问题是NHibernate不会出错,但它也不会将数据保存到数据库中。没有创建任何记录 下面的Image类是一个自定义类(不要与System.Drawing.Image混淆) 也许我保存错了,也许我的映射关闭了。ImageData是数据库中的一个varbinary(max)字段。答案很简单。我删除了对save方法的覆盖,它自己修复了。我们的基类已经定义了save方法,而我的重写完全是错误的 public voi

我正在尝试使用SQLServer2008中的Filestream存储用户上载的图像

我的问题是NHibernate不会出错,但它也不会将数据保存到数据库中。没有创建任何记录

下面的Image类是一个自定义类(不要与System.Drawing.Image混淆)


也许我保存错了,也许我的映射关闭了。ImageData是数据库中的一个varbinary(max)字段。

答案很简单。我删除了对save方法的覆盖,它自己修复了。我们的基类已经定义了save方法,而我的重写完全是错误的

public void Save(T entity)
    {
        using (ISession session = GetSession())
        using (ITransaction tx = session.BeginTransaction())
        {
            session.SaveOrUpdate(entity);
            tx.Commit();
        }
    }

那么,您是否成功地将SQL 2008 Filestream属性与NHibernate一起使用?这是我能找到的唯一一篇有人在做这件事的帖子。我们最终放弃了使用Filestream。我相信我们永远无法让它与Nhibernate一起正常工作。祝你好运如果您对使用filestream感兴趣,可以看看这个答案
public void Save(Image image)
    {
        ISession session = GetSession();

        session.SaveOrUpdate(image);
    }
public void Save(T entity)
    {
        using (ISession session = GetSession())
        using (ITransaction tx = session.BeginTransaction())
        {
            session.SaveOrUpdate(entity);
            tx.Commit();
        }
    }