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の各要素を解析し、オブジェクトにデータを入力できますが、これを行うためのより自動化された方法を探していました(存在する場合)。

4

2 に答える 2

2

ADO.NETからアクセスできるXMLデータベースが必要になります。それ以外の場合は、XMLファイルを対象とするカスタムEFプロバイダー(引き続きADO.NETに基づく)を実装します。EFはデータベースにアクセスするためのものです。

より「自動化された」方法が必要な場合は、XMLシリアル化と関連する属性を使用するだけです。これは、最初にデータ注釈付きのコードを使用するのと同じです。

于 2012-07-16T08:22:43.633 に答える
1

Entity Framework コードは、ADO.net でサポートされているデータ ソースを大部分サポートしています。

MSDNによると:

ADO.NET データ プロバイダー モデルは、データ ストアに接続して対話するための .NET Framework の共通マネージ インターフェイスを提供します。ADO.NET Entity Framework は ADO.NET データ プロバイダー モデルの上に構築され、サポートされているプロバイダーが利用可能な任意のデータ ソースで Entity Framework を使用できるようにします。

于 2012-07-16T07:22:04.947 に答える