我正在开发一个包含 5 个表的项目:
This-->ThisThat<--That-->ThatFoo<--Foo
我已经通过 asp.net Entity Framework 中的模型定义了表关系:
'This' 包含列:ThisID(PK)、Name。
“ThisThat”包含列:ThisThatID(PK)、ThisID(FK)、ThatID(FK)。
'That' 包含列:ThatID(PK)、Name。
“ThatFoo”包含列:ThatFooID(PK)、ThatID(FK)、FooID(FK)。
好的,所以我有“FooID”,我需要获取相关“ThisThat”的列表。
这是我尝试过的:
int FooID = 1;
IEnumerable<int> thatIDs = db.ThatFoo.Where(tf=>tf.FooID == FooID).ToList();
IEnumerable<ThisThat> thisthats = db.ThisThat.Where(tt=>tt.ThatID == thatIDs).ToList();
和:
IEnumerable<ThisThat> thisthat = db.ThisThat.Include(p=>p.That.ThatFoo.Where(x=>x.FooID == FooID)).ToList();
我也玩过.Select 和.SelectMany。我用谷歌搜索了各种各样的东西,但我没有找到任何与我的情况有关的东西。
我不太确定还有什么可以尝试的……建议(请并感谢您的阅读)?