0

クラスがありXます。クラスXには、以下に示すように、さまざまなタイプの多くのリストが含まれています。すべてのリストは、データベース内の子テーブルです。

public class X
{
    public List<A> As { get; set; }
    public List<B> Bs { get; set; }
    public List<C> Cs { get; set; }
    public List<D> Ds { get; set; }
    public List<E> Es { get; set; }
}

私のリポジトリはのインスタンスを取り込んで、Xすべてのリストをデータベースに永続化する必要があります。

public void Save(X value)
{
    // Save code here
}

すべてのサブリストを保存するための私の最良のオプションは何でしょうか?リスト内の各タイプは、dbテーブルにマップされます。したがって、各、、、、、のデータベースにAテーブルBCありDますE

リストを保存する各テーブルのメソッド。例:InsertAsById(List<A> values, int id)など。次に、内でそのメソッドを呼び出しますSave()。このアプローチでは、保存は次のようになります。

public void Save(X value)
{
    InsertAsById(value.As, value.id);
    InsertBsById(value.Bs, value.id);
    // So on for each list.
}

ADO.NETを使用する必要があります。フレームワークはありません。

4

1 に答える 1

0

ADO.NET の使用に制限されている場合は、2 つのルートがあると思います。

1 つ目は、Datasets と DataAdapter を使用して更新を実行することです (長い間、用語が正しいかどうかわかりません)。

2 つ目は、レコードを個別にループし、挿入/更新ステートメントを生の SQL として発行することです。

低レベルのフレームワークを使用して高レベルの操作を簡単にしようとしている場合、より多くの最新の ORM が必要な種類の機能を提供します。

于 2013-01-24T15:42:37.767 に答える