C# 具有关系的内存中数据库

C# 具有关系的内存中数据库,c#,C#,我正在从文件系统中读取数据,并将其映射到类: public class Foo { public int Id { get; set; } public IEnumerable<Bar> Bars { get; set; } } public class Bar { public int Id { get; set; } public int FooId { get; set; } } 公共类Foo { 公共int Id{get;set;} 公共I

我正在从文件系统中读取数据,并将其映射到类:

public class Foo
{
    public int Id { get; set; }
    public IEnumerable<Bar> Bars { get; set; }
}

public class Bar
{
    public int Id { get; set; }
    public int FooId { get; set; }
}
公共类Foo
{
公共int Id{get;set;}
公共IEnumerable条{get;set;}
}
公共类酒吧
{
公共int Id{get;set;}
公共int FooId{get;set;}
}

对于每种类型的课程,我都有一个单独的
列表。正如您在上面看到的,这些类是相关的。除了重新发明轮子,有没有任何框架可以保留我的数据上下文的内存表示,以及关系?我觉得使用像EF这样的东西有点过分了

您看过XMLSerialiser吗?
我假设您正在从文件系统中读取数据,而不仅仅是从文件系统中读取文件元数据

说清楚一点,你是在寻找内存中的数据库,还是ORM,或者两者兼而有之?@mjwills-Hmm,我想如果你两者都想要,我会倾向于EF-。也许是矫枉过正,但至少它是相当主流的。@mjwills看起来很有前途!不过,它可以用于非核心应用程序吗?唉,对不起,我还没有尝试过。如果您已经有了数据的内存表示形式,并且已经对序列化/反序列化进行了排序,那么您是否已经有了所需的内存数据上下文?我只是想,如果模型中EF风格的关系是过度的话,EF可能是过度的。EF使用关系在关系数据模型和层次数据模型之间进行映射,但是由于这些数据已经在层次模型中,所以不清楚您想要这种映射做什么?