实体框架代码使用Fluent API的第一个复合键

时间:2013-06-28 15:01:37

标签: c# entity-framework composite-key

我正在学习实体框架,并决定重新实现我几年前使用ADO.NET编写的知识库应用程序。

我有三个实体:Article,UserAccount和Rating。

文章和UserAccount非常明显。评级是一个包含可能评级的表:非常好= 5,良好= 4,平均= 3,差= 2,非常差= 1。

查看文章时,我想显示该文章的平均评分。如果用户已经对该文章提供评级 - 则不应再允许他们对该文章进行评分。

我设法使用流畅的API在两个实体之间成功创建了Lookup表,使用类似于:

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

我正在努力创建甚至尝试开始在三个表之间创建查找表:

ArticleUserRatings(ArticleId,UserAccountId,RatingId)

我可以创建一个名为ArticleUserRating的实体

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

但这并不适合我,这是为了这种关系类型的实体。

有没有办法在不创建实体的情况下定义这种关系?

非常感谢任何指导。

0 个答案:

没有答案