是否有解决方法在实体框架的代码第一种方法中启用FILESTREAM

时间:2013-11-11 06:18:24

标签: sql-server-2008 entity-framework blob filestream

经过大量的谷歌搜索后,我得出三个结论,即直到MVC 4(实体框架),不直接支持FILESTREAM(Sql server)。

是否有同样的解决方法?

2 个答案:

答案 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]");