4

是否可以使用实体框架(代码优先)并将数据源作为 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 的每个元素并填充对象,但我正在寻找一种更自动化的方法来执行此操作(如果存在)。

4

2 回答 2

2

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

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

于 2012-07-16T08:22:43.633 回答
1

实体框架代码主要支持ADO.net 支持的数据源

根据MSDN

ADO.NET 数据提供程序模型在 .NET Framework 中提供了一个通用托管接口,用于连接到数据存储并与之交互。ADO.NET 实体框架构建在 ADO.NET 数据提供程序模型之上,以允许将实体框架与支持提供程序可用的任何数据源一起使用。

于 2012-07-16T07:22:04.947 回答