【发布时间】:2015-09-19 04:16:17
【问题描述】:
经过大量谷歌搜索,我得出了三个结论,即在 MVC 4(实体框架)之前,不直接支持 FILESTREAM(Sql server)。
有解决办法吗?
【问题讨论】:
标签: sql-server-2008 entity-framework blob filestream
经过大量谷歌搜索,我得出了三个结论,即在 MVC 4(实体框架)之前,不直接支持 FILESTREAM(Sql server)。
有解决办法吗?
【问题讨论】:
标签: sql-server-2008 entity-framework blob filestream
首先使用 FileStream Near Entity Framework Code 的最佳方式是这样的: 在您的模型中有一个具有 byte[] 类型的字段,并且在向上迁移的方法中编写此代码:
DropColumn("dbo.Judges", "Photo");
Sql("alter table [dbo].[Judges] add [PhotoTemp] varbinary(max) FILESTREAM not null");
RenameColumn("dbo.Judges", "PhotoTemp", "Photo");
Sql("alter table [dbo].[Judges] add constraint [DF_Judges_Photo] default(0x) for [Photo]");
【讨论】:
不幸的是,EF 6 中没有等效的 FILESTREAM 可以与 Code First 方法一起使用。我今天找到了一个解决方法,但还没有尝试过:
http://ignoringthevoices.blogspot.co.uk/2014/01/working-with-entity-framework-code.html
基本上,您需要先使用数据库并创建 VARBINARY(max) 类型的列。然后告诉 EF 在自动映射时忽略它,并使用自定义 sql 查询来读取/写入内容。
希望对您有所帮助。
【讨论】: