2

現在、静的データのみ (読み取り専用) のやや大きなデータベースを持つアプリが 1 つあります。

コレクションを埋めて構築されたモデル オブジェクトを使用して、コンパイルされたアセンブリの形式でデータを展開することを検討しています。簡単な例:

public Model()
{
    this.Property1 = new List<AClass>();
    this.Property1.Add(new AClass(1,2));
    this.Property1.Add(new AClass(4,3));
    this.Property1.Add(new AClass(2,6));
}

人々が持っている主な懸念は、誰かがこのようにやっているのを見たことがないということです. 以前にこのアプローチを見たり使用したりしたことがありますか?

主な利点は、データ アクセス レイヤーが不要になり、パフォーマンスが向上することです。

編集:読み取り専用データベースは現在ツールによって生成されているため、コードもツールによって生成されます。

4

2 に答える 2

1

私は、そうでなければアプリケーション内のデータベースにあるデータを何度も埋め込んできました。XML ファイルも、プレーン テキスト ファイルも、データベースもありません。

私は通常、決して変更されないと思われる少量のデータに対してのみこれを行います。

その理由は常に怠惰です。データベースやスキーマを作成したり、データ アクセス コードを記述したりしたくありません。そのような場合、XML ファイルを作成するだけでも、少量のデータには負担がかかります。

すべてのデータが読み取り専用である場合は、実際のデータベースの代わりにアセンブリを配置するのは楽しいアイデアだと思います。あなたが言ったように、非常に潜在的に問題のある依存関係を削除します。

私が考えることができる唯一の欠点は、クエリを実行しているときに、アセンブリが非常に大量のデータをメモリに読み込まなければならない可能性があることです。なんらかの遅延読み込み機能があれば、うまく機能すると思います。

于 2013-07-06T01:00:27.613 に答える