データベーススキーマでドメインオブジェクトを作成しようとしていて、コードでドメインオブジェクトにハッシュテーブル/リストメンバーがある場合は、次のようになります。
public class SpaceQuadrant : PersistentObject
{
public SpaceQuadrant()
{
}
public virtual Dictionary<SpaceCoordinate, SpaceObject> Space
{
get;
set;
}
}
ディクショナリは、オブジェクト キーを値キーにマッピングする単なるハッシュテーブル/リストです。さまざまな結合テーブルを作成したり、手法をロードしたりして、これを行うための複数の方法を考え出しましたが、O(1) を取得するという点では、それらはすべてひどいものです。ハッシュテーブルで取得したアクセス時間。
データベース スキーマで SpaceQuadrant、SpaceCoordinate、および Space Object をどのように表現しますか? 簡単なスキーマ コードの説明があればよいでしょう。
table SpaceQuadrant
{
ID int not null primary key,
EntryName varchar(255) not null,
SpaceQuadrantJoinTableId int not null
foreign key references ...anothertable...
}
読んでくれてありがとう!
詳しくは:
すばらしい回答をありがとうございます。すでに、ざっと目を通しただけです。回答する前に、それぞれについて考える時間を取りたいと思います。
これらのクラスを定義するためのより良い方法があると思われる場合は、ぜひ例を示してください。使い慣れた言語はどれでもかまいません。