持っていた 同様の問題 しばらく前にAutoFixtureとEntityFrameworkを使用しています。私の解決策は、自動フィクストールに拡張機能を追加することでした。これにより、いくつかの再帰でSUTを構築できます。その拡張は最近、自動フィクストールで採用されています。
しかし、あなたの質問は、自動フィクストールを再帰データ構造を構築する方法についてではなく、実際に可能ですが、再帰なしでドメインモデルを作成する方法については理解しています。
まず、ツリーまたはグラフ構造があります。ここでは、再帰以外は、結合ノードIDのゆるいことを介した間接を意味します。アソシエーションを定義する代わりに、ツリークエリをクエリまたはキャッシュするか、すべてをキャッシュし、ノードキールックアップによってトラバースする必要があります。ここでは、EFにあなたのために仕事をさせるのが非常に便利です。
他の共通構造は、ユーザー /ゲームのシナリオと同様の双方向ナビゲーション構造です。ここでは、ナビゲーションの流れを単一の方向に剪定するのはそれほど不便ではありません。ゲームからチームまでのOne Directionを省略すると、特定のゲームのすべてのチームを簡単に照会できます。したがって、ユーザーにはゲームのリストとチームのリストがあります。チームにはゲームのリストがあります。ゲームにはどちらにもナビゲーションの参照がありません。特定のゲームのすべてのユーザーを取得するには、次のようなものを書くことができます。
var users = (from user in DataContext.Users
from game in user.Games
where game.Name == 'Chess'
select user).Distinct()