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