最近工作上有个要求,要用Entity Framework 对Json类型文件操作,来自动更改配置项,但是之前都是用EF来映射的数据库,还没有对文件做过映射,又重新去读了MSDN的文档才知道,原来也是有相关的资料的;
下面是用法,文档链接在最后;
Entity Framework 6
C#引用Nuget包 filecontext
文件类型
PM> install-package filecontext
mongodb数据库
PM> install-package filecontext.mongodb
替换原有的DBContext改为FileContext
//public class ContentItemContext : DbContext public class ContentItemContext : FileContext { public ContentItemContext() : base(new JsonStoreStrategy()) // or DefaultStoreStrategy() => XmlStoreStrategy() // or InMemoryStoreStrategy() { } public FileSet<ContentItem> ContentItems { get; set; } //public DbSet<ContentItem> ContentItems { get; set; } }
接下来就能像是用EF操作数据库一样操作文档了;
Entity Framework Core
EFCore和EF6一样,只不过是Nuget包命令名称有所不同
PM > Install-Package FileContextCore
Nuget包源码地址:
EF Core:morrisjdev/FileContextCore: FileContextCore is a "Database"-Provider for Entity Framework Core and adds the ability to store information in files instead of being limited to databases. (github.com)
EF 6:pmizel/DevMentor.Context.FileContext: FileContext is a data access layer (DAL) Framework for rapid data driven application development (RDDAD). (github.com)
这个包是开源的,如果有需要可以自己去拉下来包自己改动下
参考链接:
数据库提供程序 - EF Core | Microsoft Docs