经过大量的谷歌搜索后,我得出三个结论,即直到MVC 4(实体框架),不直接支持FILESTREAM(Sql server)。
是否有同样的解决方法?
答案 0 :(得分:2)
不幸的是,EF 6中没有相应的FILESTREAM,可以与Code First方法一起使用。我今天找到了一种解决方法,但是还没有尝试过,但是:
http://ignoringthevoices.blogspot.co.uk/2014/01/working-with-entity-framework-code.html
基本上,您需要先使用数据库并创建VARBINARY(max)类型的列。然后告诉EF在自动映射时忽略它并使用自定义sql查询来读/写内容。
希望它有所帮助。
答案 1 :(得分:1)
首先使用FileStream Near Entity Framework Code的最佳方法是: 在你的模型中有一个byte []类型的字段,在up的迁移方法中写下这段代码:
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]");