1

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

有相同的解决方法吗?

4

2 回答 2

3

首先使用 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]");
于 2015-09-18T20:16:17.923 回答
2

不幸的是,EF 6 中没有等效的 FILESTREAM 可以与 Code First 方法一起使用。我今天找到了一种解决方法,但还没有尝试过,不过:

http://ignoringthevoices.blogspot.co.uk/2014/01/working-with-entity-framework-code.html

基本上,您需要先使用数据库并创建 VARBINARY(max) 类型的列。然后告诉 EF 在自动映射时忽略它并使用自定义 sql 查询来读取/写入内容。

希望它有所帮助。

于 2014-02-06T15:07:14.743 回答