0

変更される可能性は低いが、ビジネス ロジックの実装に役立つ表形式のデータを使用する必要があるシナリオがあります。

Table

 Parent      Child         Relationship      Allowed
  A            B                 C            True
  B            A                 C            False

各行はビジネス ルールを表します。このテーブルに基づいて、「関係」列の内容をドロップダウン コントロールに入力する必要があります。この表形式のデータを格納するために C# 内にある種のデータ構造を持つことはできますか、それともデータベース テーブルを使用する必要がありますか?

4

3 に答える 3

3

このデータをセッション間で永続化する必要がない限り、データベース テーブルに格納する必要はありません。オブジェクト指向設計の観点から、必要な構造を表すオブジェクト、したがってクラスを作成してみませんか。このようなもの:

public class Relationship
{
    public string Name { get; set; }
    public string Parent { get; set; }
    public string Child { get; set; }
    public bool Allowed { get; set; }
}

もちろん、独自の「タイプ」のオブジェクトをさらに使用したい場合に文字列を使用していることに注意してください。さらに、アクセスと、これらのプロパティへのアクセスを許可する必要があるものと許可しないものを念頭に置いてください...これは、この時点で意図的に単純化された例です!

于 2013-07-11T14:50:08.270 に答える
1

これが保存する必要があるすべてのデータである場合、本格的なデータベースはやり過ぎになる可能性があることに同意します。したがって、理論的には、本当に必要な場合は C# でデータと構造をハードコーディングできますが、ほとんどすべての場合で良い考えではありません。変更する可能性が低い場合。

少なくとも、データを小さな XML / 構成ファイルに保存して、変更された場合にアプリケーションを再コンパイルする必要がないようにします。

于 2013-07-11T14:49:30.967 に答える
0

DataTable を使用: http://msdn.microsoft.com/en-us/library/System.Data.DataTable.aspx

テーブルを作成して、次のように入力できます。

// Definition
DataTable table = new DataTable();

DataColumn column = new DataColumn("Parent", typeof(string));
table.Columns.Add(column);

// Data
DataRow row = table.NewRow();
row["Parent"] = "A";
table.Rows.Add(row);
于 2013-07-11T14:52:35.007 に答える