带有外键的ASP.NET Web API上下文(多对一)

带有外键的ASP.NET Web API上下文(多对一),asp.net,asp.net-web-api,Asp.net,Asp.net Web Api,我必须开发一个ASP.NET Web API作为一项工作的测试,我从来没有这样做过,所以我首先遵循以下文档(法语版本,很抱歉,但基本上我能够用一个简单的数据模型实现一个API,并自动生成一个执行CRUD操作的控制器): 我要做的是: 第一个端点(接触点)至少具有: 名字 姓氏 全名 地址 电子邮件 手机号码 我已经做到了 第二个端点(技能)至少具有: 名字 级别(专门知识) 所以我用ask属性完成了两个不同的模型类,现在规则是“一个联系人可以有多个技能,一个技能可以属于多个联系人。”必

我必须开发一个ASP.NET Web API作为一项工作的测试,我从来没有这样做过,所以我首先遵循以下文档(法语版本,很抱歉,但基本上我能够用一个简单的数据模型实现一个API,并自动生成一个执行CRUD操作的控制器):

我要做的是:

第一个端点(接触点)至少具有:

  • 名字
  • 姓氏
  • 全名
  • 地址
  • 电子邮件
  • 手机号码
我已经做到了

第二个端点(技能)至少具有:

  • 名字
  • 级别(专门知识)
所以我用ask属性完成了两个不同的模型类,现在规则是“一个联系人可以有多个技能,一个技能可以属于多个联系人。”必须实现

尽管我们可以在互联网上找到很多资源,但我仍在努力解决这一点,我在我的“联系人”模型中添加了以下属性:


但是没有成功。为此,您需要有ICollection内部联系人模型和ICollection内部技能模型。它看起来是多对多的,Ef会关心加入或链接表格是的,我说我已经在联系人模型中添加了一个ICollection(见帖子)。我关心的是如何告诉上下文和控制器它们使用外键工作,而模型中只有标记不工作。使用postman,我可以添加一个在联系人端点上调用帖子时不存在的技能ID。帖子不是关于多对多的,您上面共享的上下文只是处理联系人而不是技能。请检查这是类似的学生可以有多个课程,课程可以分配给多个学生或任何多对多类似于您的案例的教程。还有一件事EF core与EF-6I不同,我查看了本教程,但无法根据我的案例修改上下文+,当我尝试按照所做的方式修改上下文时(使用差异),visual studio无法生成控制器…嗯,您执行了错误的实现(对于新手来说这是可以的),你们需要删除那个些生成的控制器,视图,不用担心,因为那个些都是搭建好的,或者可能会在新项目中重新开始(和安全时间一样好)。记住,在规划之前不要看到实现。为此,您需要有ICollection内部联系人模型和ICollection内部技能模型。它看起来是多对多的,Ef会关心加入或链接表格是的,我说我已经在联系人模型中添加了一个ICollection(见帖子)。我关心的是如何告诉上下文和控制器它们使用外键工作,而模型中只有标记不工作。使用postman,我可以添加一个在联系人端点上调用帖子时不存在的技能ID。帖子不是关于多对多的,您上面共享的上下文只是处理联系人而不是技能。请检查这是类似的学生可以有多个课程,课程可以分配给多个学生或任何多对多类似于您的案例的教程。还有一件事EF core与EF-6I不同,我查看了本教程,但无法根据我的案例修改上下文+,当我尝试按照所做的方式修改上下文时(使用差异),visual studio无法生成控制器…嗯,您执行了错误的实现(对于新手来说这是可以的),你们需要删除那个些生成的控制器,视图,不用担心,因为那个些都是搭建好的,或者可能会在新项目中重新开始(和安全时间一样好)。记住,在规划之前不要看到实施。
    [Key]
    [ForeignKey("Skills")]
    public int? SkillsID { get; set; }
    public ICollection<Skills> Skills { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)