0

この関係を定義する方法がわかりません。私にはユーザーとバッジがあります。ユーザーは多くのバッジを収集できます。また、特定のバッジを複数回持つこともできます。(Stackoverflowと同じように)。

このnumberOfTimesEarntBadgeカウントをどのように定義できますか?

user.badges.add(badge)をもう一度実行してみましたが、データベースに挿入されません。

現在、バッジは(ユーザークラス内で)次のように定義されています。

public virtual ICollection<Badge> Badges { get; set; }  

ありがとうございました!

4

1 に答える 1

1

UserBadgeなどの関係エンティティが必要なので、navプロパティはICollectionUserBadgesになります。

UserBadgeには、ユーザーとバッジのnavプロパティ、およびPKIDフィールドがあります。

次に、バッジの数を取得するには、ユーザーのUserBadges ICollectionをバッジごとにグループ化し、各グループを数えます。

var badgeCountQuery =
for ub in userEntity.UserBadges
group ub by ub.Badge into g
select new
{
    Badge = g.Key,
    BadgeCount = g.Count()
};
于 2013-03-27T04:05:25.583 に答える