0

嗨,我正在学习使用代码优先方法使用 MVc。我无法理解 ICollection<> 在我的设置中的使用。我有两个类/实体:“餐厅”和“餐厅评论”,如下所示:

public class Restaurant
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string City { get; set; }
    public string Country { get; set; }
    public ICollection<RestaurantReview> Reviews { get; set; }
}

和.....

public class RestaurantReview
{
    public int Id { get; set; }    
    public int Rating { get; set; }
    public string Body { get; set; }
    public string ReviewerName { get; set; }
    public int RestaurantId { get; set; }


}

现在让我感到困惑的是餐厅类的最后一个属性。为什么它是'ICollection'类型并使用我的RestaurantReview类作为参数,它是做什么的,希望我已经说清楚了

4

1 回答 1

0

这是一对多关系的定义。

使用该属性(有时称为Navigation Property),Entity Framework 将能够连接ReviewRestaurant它所写的内容。它还将允许您非常轻松地获取Review给定实体的实体。Restaurant

您也可以public int RestaurantId { get; set; }从课堂中删除 - 由于课堂上的原因,RestaurantReviewEF 将自动生成该列。ICollection<RestaurantReview>Restaurant

于 2013-04-03T20:28:40.600 回答