0

私は Entity Framework を学んでおり、数年前に ADO.NET を使用して作成したナレッジ ベース アプリケーションを再実装することにしました。

Article、UserAccount、Rating の 3 つのエンティティがあります。

Article と UserAccount は一目瞭然です。評価は、可能な評価を含む表です。非常に良い = 5、良い = 4、平均 = 3、悪い = 2、非常に悪い = 1。

記事を閲覧する際、その記事の平均評価を表示したい。ユーザーがその記事に対して既に評価を提供している場合、再度評価することは許可されません。

次のようなものを使用して、流暢な API を使用して 2 つのエンティティ間のルックアップ テーブルを正常に作成できました。

        HasMany(a => a.Tags)
            .WithMany(t => t.Articles)
            .Map(x =>
                {
                    x.ToTable("ArticleTags");
                    x.MapLeftKey("ArticleId");
                    x.MapRightKey("TagId");
                });

3 つのテーブル間のルックアップ テーブルを作成するか、作成を開始するのに苦労しています。

ArticleUserRatings (ArticleId、UserAccountId、RatingId)

ArticleUserRating というエンティティを作成できます

public class ArticleUserRating
{
    public int ArticleId { get; set; }
    public int UserAccountId { get; set; }
    public int RatingId { get; set; }
}

しかし、これは私には快適ではありません。この関係タイプのためのエンティティです。

エンティティを作成せずにこの関係を定義する方法はありますか?

どんなガイダンスでも大歓迎です。

4

0 に答える 0