我有两个实体,即帐户和订阅,它们之间有多对多的关联。我似乎无法在教程中找到如何执行以下操作:
我想找到所有类型为x的订阅的帐户。如果我没有使用Entity框架,我可以加入AccountSubscription表,但是无法通过Entity访问。如果我需要查询多对多关系,是否必须创建一个特殊实体?
答案 0 :(得分:3)
EF应为多对多关系创建导航属性。然后你应该可以做这样的事情:
var accounts = from a in Accounts
where a.Subscriptions.Any(s => s.SubscriptionType == "something")
select a;
例如,我有一个简单的数据库,产品和组之间有很多关系:
EF在模型中创建关联:
所以我可以创建一个这样的查询(这里包括组,所以我可以看到类别):
答案 1 :(得分:0)
这样的事情:
List<Accounts> myAccounts = //get accounts;
foreach(Accounts a in myAccounts)
{
foreach(Subscriptions s in a)
{
//add it to a global list?
}
}