我想使用nhibernate在mssql中保存PDF文件。我该怎么做呢。
我对它有点了解here,它告诉你可以创建一个类型来保存文件:
Map(x => x.Bytes)
.CustomSqlType("VARBINARY (MAX) FILESTREAM")
.Length(2147483647)
但是我仍然无法理解c#字段应该是什么类型的&如果它不是FileInfo / FileStream那么如何读写该字段。
答案 0 :(得分:4)
DB类型Varbinary,具有C#表示byte[]
public virtual MyFile byte[] { get; set; }
基于应用类型(例如带有ASP.NET Web API的网站),我们可以提供“下载”功能,例如
protected virtual HttpResponseMessage Download(string fileName, string contentType
, byte[] data)
{
var path = fileName;
var result = new HttpResponseMessage(HttpStatusCode.OK);
var stream = new MemoryStream(data);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue(contentType);
result.Content.Headers.Add("Content-Disposition", "attachment; fileName=" + path);
return result;
}