2016-11-16 10 views
0

相互に関連するネストされたオブジェクトをたくさん挿入する場合は、外部キーリレーションシップを尊重して内側のエンティティを作成して永続化するか、内側のオブジェクトですべてのオブジェクトを作成し、外側のオブジェクトだけを保持する方が良いでしょうか?これまでのところ、後者を行うとき、Entity Frameworkは関係について最初に挿入するものを知的に把握しているように見えました。しかし、注意すべき注意点はありますか?最初の方法は古典的なSQLロジックのように思えますが、後者はEntity Frameworkの考え方よりも適しているようです。インプリメンテーションフレームワークで挿入ステートメントを実装する方法

答えて

0

データ破損のリスクを管理し、データベースが貴重なものであることを保証することはすべて重要です。

最初に内部レコードを永続化すると、外部保存が失敗した場合に、不正なデータが残る可能性があります。アプリケーションのニーズに応じて、孤立した内部レコードは、大きな問題から軽度の煩わしさに至るまでのどこでもかまいません。

すべてを一緒に保存すると、1つのレコードにエラーが発生すると、保存全体が失敗します。

もちろん、内部レコードが外部レコードなしで意味がある場合(ビジネスニーズによって決定される場合)、アプリケーションの進行を妨げる可能性があります。

要するに、内側のレコードが外側に依存する場合、一緒に保存します。内部が意味を持つ場合は、パフォーマンス/可読性に基づいて決定します。


例:

HouseHomeownerせずに意味を持ちます。それ自身でHouseを作成することは許容されるでしょう。

HSA(住宅所有者協会)は、Homeownerなしで意味をなさない。これらは一緒に作成する必要があります。明らかに、これらの例は考案されており、既存のデータを使用する場合には些細なことになります。この質問の目的のために、我々は両方が同時に作成されていると仮定している。

関連する問題