我正在学习实体框架,并决定重新实现我几年前使用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; }
}
但这并不适合我,这是为了这种关系类型的实体。
有没有办法在不创建实体的情况下定义这种关系?
非常感谢任何指导。