C# 实体框架中的一对多关系,无需先编写代码

C# 实体框架中的一对多关系,无需先编写代码,c#,sql,asp.net,entity-framework,C#,Sql,Asp.net,Entity Framework,我需要配置一对多关系,而无需在实体框架中使用代码优先设计。我知道这是一个愚蠢的限制,但这是要求分配的任务。我已经用这些表创建了数据库 CREATE TABLE [dbo].[MissionQuestions] ( [MissionQuestionId] INT IDENTITY (1, 1) NOT NULL, [missionID] INT NOT NULL , [userID] INT NOT

我需要配置一对多关系,而无需在实体框架中使用代码优先设计。我知道这是一个愚蠢的限制,但这是要求分配的任务。我已经用这些表创建了数据库

CREATE TABLE [dbo].[MissionQuestions] (
[MissionQuestionId] INT           IDENTITY (1, 1) NOT NULL,
[missionID]         INT           NOT NULL ,
[userID]            INT           NOT NULL,
[missQuestion]      VARCHAR (MAX) NOT NULL,
[missAnswer]        VARCHAR (MAX) NULL,
PRIMARY KEY CLUSTERED ([MissionQuestionId] ASC), 
CONSTRAINT [FK_MissionQuestions_Missions] FOREIGN KEY ([missionID])     REFERENCES [Missions]([missionID]), 
CONSTRAINT [FK_MissionQuestions_Users] FOREIGN KEY ([userID]) REFERENCES [Users]([userID]) 
);

CREATE TABLE [dbo].[Missions] (
[missionID]       INT          IDENTITY (1, 1) NOT NULL,
[missionName]     VARCHAR (50) NOT NULL,
[missionPresName] VARCHAR (30) NOT NULL,
[missionLanguage] VARCHAR (30) NOT NULL,
[missionClimate]  VARCHAR (30) NOT NULL,
[missionReligion] VARCHAR (30) NOT NULL,
[missionImg]      VARCHAR (30) NOT NULL,
PRIMARY KEY CLUSTERED ([missionID] ASC)
);
我也有一个用户表,但我不认为它在这个问题上是相关的 这是我的模型课

[Table("Missions")]
public class Missions
 {

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int missionID { get; set; }
    public String missionName { get; set; }
    public String missionPresName { get; set; }
    public String missionLanguage { get; set; }
    public String missionClimate { get; set; }
    public String missionReligion { get; set; }
    public String missionImg { get; set; }

    public virtual ICollection<MissionQuestions> MisisonQuestions { get; set; }

}

[Table("MissionQuestions")]
public class MissionQuestions
{

    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int missionQuestionID { get; set; }
    public String missQuestion { get; set; }
    public String missAnswer { get; set; }
    [ForeignKey("Missions")]
    public virtual int missionID { get; set; }
    public virtual Missions Missions { get; set; }
    [ForeignKey("Users")]
    public virtual int userID { get; set; }
    public virtual Users Users { get; set; }
}
[表格(“任务”)]
公共类任务
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
public int-missionID{get;set;}
公共字符串missionName{get;set;}
公共字符串missionPresName{get;set;}
公共字符串missionLanguage{get;set;}
公共字符串missionClimate{get;set;}
公共字符串任务{get;set;}
公共字符串missionImg{get;set;}
公共虚拟ICollection错误查询{get;set;}
}
[表(“任务问题”)]
公开课任务问题
{
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共int任务问题ID{get;set;}
公共字符串错误问题{get;set;}
公共字符串错误回答{get;set;}
[外键(“任务”)]
公共虚拟int任务ID{get;set;}
公共虚拟任务{get;set;}
[外国密钥(“用户”)]
公共虚拟int用户标识{get;set;}
公共虚拟用户用户{get;set;}
}
为了简单地描述这些表格,这里应该有一些“任务”,人们可以在这些任务中询问和回答有关每个任务的问题。因此,每个任务都有0-*“任务问题” 我以为我把一切都安排好了,但我犯了这个错误

MissionQuestions\u Missions\u Source::多重性在关系“MissionQuestions\u Missions”中的角色>“MissionQuestions\u Missions\u Source”中无效。“>因为依赖角色属性不是键属性,所以依赖角色的多重性的上限>必须是“*”


我猜错误在于数据库的设置方式,这可能是通过先使用代码来设计数据库来修复的,但我正在处理一个任务,在这个任务中,我被告知不要先使用代码。您知道如何指定要匹配的多重性吗?

能否向我们展示SSMS中捕获的这两个表的图表?能否展示DbContext代码以及何时出错?能否展示SSMS中捕获的这两个表的图表?能否展示DbContext代码以及何时出错