是否可以使用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序列化和相关属性 – 它将与使用数据注释首先使用代码相同.