簡體   English   中英

以XML為數據源的實體框架代碼優先

[英]Entity Framework Code First with XML as Data Source

是否可以使用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到XML來解析XML的每個元素並填充對象,但是我一直在尋找一種更自動化的方法(如果存在)。

您將需要一些可以通過ADO.NET訪問的XML數據庫。 否則,您將實現針對XML文件的自定義EF提供程序(仍將基於ADO.NET)。 EF用於訪問數據庫。

如果您想采用更多的“自動化”方式,只需使用XML序列化和相關屬性-它將與首先使用帶有數據注釋的代碼相同。

實體框架代碼在很大程度上支持ADO.net支持的數據源

根據MSDN

ADO.NET數據提供程序模型在.NET Framework中提供了一個公共的托管接口,用於連接到數據存儲並與之交互。 ADO.NET實體框架建立在ADO.NET數據提供程序模型的基礎上,以允許將實體框架與任何支持其提供程序的數據源一起使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM