ユーザー / \ / \ MTO MTO / \ / \ 製品----MTM----タグ
エンティティを使用してこのようなスキーマを作成する方法に関するドキュメントがあるのだろうか。私は、どのエンティティが関係の何に対して責任を負うべきか疑問に思っていました。
例えば:
商品にタグを追加したいとしましょう。私は私の中にこのような方法を持っています
製品エンティティ:
public virtual void AddTag(Tag tag)
{
this.Tags.Add(tag); // IList<Tag> Tags
tag.AddProduct(this);
}
最初に、タグ オブジェクトをタグのリストに追加します。次に、そのタグ オブジェクトは「この」製品を独自の製品リストに追加します。
ここまでは順調ですね。
しかし、商品をタグに追加したい場合はどうすればよいでしょうか。私は私の中にこのような方法を持っています
タグ エンティティ:
public virtual void AddProduct(Product product)
{
this.Products.Add(product); // IList<Product> Products
// product.AddTag(this);
}
最初に、製品オブジェクトをタグ オブジェクトの製品リストに追加します。次に、「this」タグを製品に追加できましたが、ここで行き詰まりました。コメント化されたメソッドは、AddTag などを呼び出す AddProduct にコールバックするため、stackoverflow エラーをスローします。
私のスキーマが本当に正しいかどうかもわかりません。ユーザーからタグへの MTO は、ユーザーが持っているタグを確認したいときに簡単にするためにあります。
それで、誰かが私を正しい方向に向けることができるかどうか疑問に思っていましたか?
前もって感謝します、
ピクルス