首页 > 解决方案 > 列表未保存在 EF Core 2 中

问题描述

我将 EF Core 2.2 与 ASP.net MVC Core 2.2 一起使用。

我有一个带有未存储到表中的 List 数组的实体。我认为它会写出数组中对象的外键列表,但事实并非如此。我忘记了什么?

public class ProjectModel
{
    [Key]
    public int ID { get; set; }
    public List<MyObject> ListOfObjects { get; set; }

}

public class MyObject
{
    [Key]
    public int ID { get; set; }
    [Required]
    public string Name{ get; set; }
}

发生添加和保存的代码:

MyObject cm = MethodToGenerateObject();

if(pm.ListOfObjects == null)
{
    pm.ListOfObjects = new List<MyObject>();
}

pm.ListOfObjects.Add(cm);

_context.Entry(pm).State = EntityState.Modified;

try
{
    await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
     throw;

}

但是没有 MyObject 数据保存到数据库中。为什么?

标签: c#asp.net-mvcentity-frameworkasp.net-coreentity-framework-core

解决方案


感谢@Sam,我搜索了导航属性并找到了这个有用的指南: https ://www.learnentityframeworkcore.com/conventions/one-to-many-relationship

第一个一对多关系示例帮助解决了我的问题。


推荐阅读