ユーザーがアップロードした画像を保存するために、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) フィールドです。