C# 使用平面文件作为数据源的Microsoft实体框架

C# 使用平面文件作为数据源的Microsoft实体框架,c#,entity-framework,C#,Entity Framework,我正在使用Visual Studio 2010和c#4.01、MVC3和Entity Framework 5 我想使用只读文本文件作为EF数据源。我的简单数据结构是: public class FlatFile { public string Caption {get; set; } public string Filename {get; set; } } 我似乎有一块关于如何设置与EF的这一块。救命啊!谢谢 总结上面评论中的大部分内容:EF用于查询数据库并返回所需数据的子集

我正在使用Visual Studio 2010和c#4.01、MVC3和Entity Framework 5

我想使用只读文本文件作为EF数据源。我的简单数据结构是:

public class FlatFile
{
    public string Caption {get; set; }
    public string Filename {get; set; }
}

我似乎有一块关于如何设置与EF的这一块。救命啊!谢谢

总结上面评论中的大部分内容:EF用于查询数据库并返回所需数据的子集。如果要将数据备份到平面文件中,只需对整个数据集进行序列化和反序列化即可。如果数据集变得太大,这可能是一条危险的道路。为了确保您的web环境是线程安全的,还必须解决一些小问题


然而,似乎您需要一块发展的垫脚石,从简单的开始,最终升级到一个“真正的”数据库,而不必重写一堆代码。既然您提到了MVC3,我强烈建议您使用IOC/DI之类的工具。通过这种方式,您可以定义所需的接口,并在准备就绪时简单地交换实现。我还建议尝试而不是平面文件,默认情况下,它将使用本地数据存储,并可能在以后提供到数据库的更平滑过渡。

没有任何意义。EF是一个数据库访问框架。谢谢,我很感激。这是为了将来的扩展。如果我这样设置它,我可以在将来将它更改为数据库,而不做任何其他更改。为将来的扩展设置它的正确方法可能是将加载数据的方法封装在一个类中。您将调用一个签名类似于
IEnumerable LoadFromDataSource()
的函数-在此方法中,您可以选择使用
EF
System.IO
操作来实际加载数据。只要您的
平面文件
类的实现保持不变,您就可以自由更改如何检索其数据的详细信息。危险的方法。提供者之间的能力差异确实会向上泄漏。考虑本地文件文件方法(MS-SQL)。