c# – 以XML作为数据源的实体框架代码

是否可以使用Entity Framework(代码优先)并将数据源作为
XML文件?我需要使用
XML文件中的值填充域对象.

XML文件具有以下结构:

<Person name="John" age="12">
    <Products>
        <Product id="1" name="Product 1" />
        <Product id="2" name="Product 2" />
        <Product id="3" name="Product 3" />
    </Products>
</Person>

C#域对象具有以下结构:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public ICollection<Product> Products { get; set; }
}

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
}

我可以使用Linq to XML来解析XML的每个元素并填充对象,但我正在寻找一种更自动化的方法(如果存在).

最佳答案 您需要一些可通过ADO.NET访问的XML数据库.否则,您将实现针对XML文件的自定义EF提供程序(仍将基于ADO.NET). EF用于访问数据库.

如果您想要更多“自动化”方式,只需使用XML序列化和相关属性 – 它将与使用数据注释首先使用代码相同.

点赞