使用XML作为数据源的Entity Framework Code First

4

是否可以使用Entity Framework(Code First)并将数据源设置为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中的每个元素并填充对象,但我正在寻找更自动化的方法(如果存在)。

2个回答

2

你需要一些可以通过ADO.NET访问的XML数据库。否则,你将需要实现自定义EF提供程序(仍然基于ADO.NET),以针对你的XML文件进行访问。EF是用于访问数据库的。

如果你想要更多"自动化"的方式,只需使用XML序列化和相关属性 - 这将与使用代码优先数据注释相同。


1

Entity Framework 代码主要支持 ADO.net 支持的数据源

根据 MSDN

ADO.NET 数据提供程序模型为 .NET Framework 提供了一个通用的托管接口,用于连接和与数据存储交互。ADO.NET Entity Framework 建立在 ADO.NET 数据提供程序模型之上,允许使用 Entity Framework 与任何可用支持的数据源进行交互。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接