![](/img/trans.png)
[英]How can I implement a LEFT OUTER JOIN in LINQ using lambda syntax on Entity Framework Core 2.0?
[英]How can I perform this type of JOIN in Entity framework with LINQ
我有班级徽章:(例如)
**Badge**
-User (Owned by)
-Title (e.g votesOnThingReached5)
用户自己的徽章通过类UserBadge(必需)。
**UserBadge:**
-User
-Badge
所以:
myUser.UserBadges(); //Gets all user's current badges they own.
db.Badges(); //Gets all badges avaialble to be earnt.
我只需要获取用户当前没有的徽章即可。
我怎么写这个LINQ? 这是我的pseduo代码示例:
db.Badges(Where(b =>
new query(!myUser.UserBadges.contains(b));
您的Badge
POCO上是否有一个用户集合? 如果是这样的话:
db.Badges.Where(b => !b.Users.Any(u=>u.UserId == myUserId));
否则,您可以执行以下操作:
List<int> ownedBadges = myUser.Badges.Select(x=> x.BadgeId).ToList();
db.Badges.Where(b => !ownedBadges.Contains(b.BadgeId));
db.Badges.Where(b=>!myUser.UserBadges.Contains(b));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.