3个表与实体代码之间的一对多关系

时间:2016-10-13 18:20:40

标签: c# entity-framework tsql

假设我有3个表,例如城市,旅游和旅游景点

我想存储有关每个城市的旅游和访问持续时间的城市数据。每个旅游可能有几个城市。

这是我的代码

public class TourDetails 
{
    [Required, Key]
    public int ID { get; set; }
    [Required]
    public int Duration { get; set; }

    [Required]
    public virtual City City { get; set; }
    [Required]
    public virtual Tour TourID { get; set; }
}

public class Tour
{
    [Required, Key, MaxLength(5), MinLength(5)]
    public string ID { get; set; }
    [Required, MaxLength(20)]
    public string TourName { get; set; }
    [Required]
    public int TotalDuration { get; set; }
    [Required]
    public decimal Price { get; set; }

    [Required]
    public virtual ICollection<TourDetails> TourDetails { get; set; }
}

public class City
{
    [Required, Key]
    public int ID { get; set; }
    [Required, MaxLength(20)]
    public string CityName { get; set; }

    [Required]
    public virtual ICollection<TourDetails> TourDetails { get; set; }
}

我的问题是,当我编译代码时,实体框架根本没有在图表中显示TourDetails表(表格被添加到基础) 我对Entity Framewrok很新,只是想学习,所以这可能是一个愚蠢的问题,但我希望我会得到一个正确的答案。

问题解决了,问题在于我的sql manager工作室没有代码,感谢很多人试图帮助并为你的时间抱歉:)

1 个答案:

答案 0 :(得分:0)

您缺少实体的ID(其中一个属性&#39;名称错误):

public int CityId { get; set;}
public virtual City City { get; set; }
public int TourId { get; set; }
public virtual Tour Tour { get; set; }

实体框架现在应该检测关系