POCO One-To-One、マイクロORM。私はref idまたはrefオブジェクトのみを格納すべきですか?

dapper domain-driven-design micro-orm poco repository

質問

Dapper(リポジトリ)のようなマイクロORMを使用する場合は、Ref IDを子Pocoに格納するか、Model内のrefオブジェクトのみを格納する必要がありますか?私は両方を保存すると、ルートオブジェクトを更新するときに同期の問題があると思います。

例えば:

Class Boat
    +Id
    +LakeId
    +Lake

Class Lake
    +Id
    +Name

LakeIdを変更した場合はどうなりますか?湖は無効な状態になります!誰かが湖を変えて湖を暮らすとどうなるでしょうか? LakeIdは無効な状態になります。

これらの2つのプロパティの同期は、追加の不要な複雑さになります。 LakeIdを変更すると、dbから新しいLake pocoを取得する必要があります。

あなたのプロジェクトでこれをどのように扱いますか(DapperやPetaPocoのようなマイクロORMのみを使用しています)?

人気のある回答

すべてのマイクロオーミックはステロイドのデータマッパーです。あなたが書くSQLは気にせず、クエリ結果をオブジェクトにマップするだけです。どんな挿入/更新ヘルパーでも、SQLを使いこなすことなくその操作を簡単に行うことができます。

あなたの心配はマイクロオームとは関係ありません。単にLakeIdに外部キー制約を設定するだけです。ボートにレイクアイランドとレイクの両方がある理由は分かりません。最初にdbスキーマを取得し、次にクエリ結果をマッピングするために必要なオブジェクト(POCO)を取得する必要があります。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow