Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架联接表或1*_C#_Sql_Entity Framework - Fatal编程技术网

C# 实体框架联接表或1*

C# 实体框架联接表或1*,c#,sql,entity-framework,C#,Sql,Entity Framework,我正在为我的asp.NETMVC站点创建一个数据库 以下是我的两个模型: 我试图达到的目标是让该计划进行一次或多次训练 因此,当我创建一个程序时,我必须给它进行训练,就像现在一样,连接表永远不会出现 非常感谢您的帮助。我希望有一个ProgramId和WorkUtid的连接表。您能告诉我如何获取值吗?您确定DB计划中有相应的训练吗?你能显示你的映射配置吗?你需要有一个单独的映射表来存储计划和训练之间的记录。示例:公共类程序训练{public int ProgramId{get;set;}publi

我正在为我的asp.NETMVC站点创建一个数据库

以下是我的两个模型:

我试图达到的目标是让该计划进行一次或多次训练

因此,当我创建一个程序时,我必须给它进行训练,就像现在一样,连接表永远不会出现


非常感谢您的帮助。

我希望有一个ProgramId和WorkUtid的连接表。您能告诉我如何获取值吗?您确定DB计划中有相应的训练吗?你能显示你的映射配置吗?你需要有一个单独的映射表来存储计划和训练之间的记录。示例:公共类程序训练{public int ProgramId{get;set;}public int WorkoutId{get;set;}[ForeignKeyProgramId]公共虚拟程序程序{get;set;}[ForeignKeyWorkoutId]公共虚拟训练{get;set;}一个粗略的解决方案,但希望你能明白。当你运行迁移时,EF会自动为程序和训练创建一个连接表,除非你使用一些自定义映射。您正在使用一些自定义映射吗?你能给我们看看吗?
public class Workout
{
    public Workout()
    {
        this.Sets = new List<Set>();
        this.Programs = new List<Program>();
    }

    [Key]
    public int Id { get; set; }
    [Required]
    public string Name { get; set; }
    public virtual ICollection<Set> Sets { get; set; }
    public virtual ICollection<Program> Programs { get; set; }
    }
}

public class Program
{
    public Program()
    {
        this.Workouts = new List<Workout>();
    }
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Workout> Workouts { get; set; }

    }
}