经过大量的谷歌搜索,我得出三个结论,直到 MVC 4(实体框架),不直接支持 FILESTREAM(Sql server)。
有相同的解决方法吗?
经过大量的谷歌搜索,我得出三个结论,直到 MVC 4(实体框架),不直接支持 FILESTREAM(Sql server)。
有相同的解决方法吗?
首先使用 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 查询来读取/写入内容。
希望它有所帮助。