繁体   English   中英

如何使用EF Core C#将List <>数据添加到List <>变量

[英]How to add a List<> data to a List<> variable using EF Core C#

我正在创建一个CRUD Web API,并且正在遵循此Microsoft教程 就我而言,我有two models

First_Model.cs

// i removed other unnecessary data
public string Id { get; set; }
public IList<Second_Model> Second_Models {get; set;} = new List<Second_Model>();

Second_Model.cs

// i removed other unnecessary data
public string Id { get; set; }

就像本教程中一样,它将静态添加集合的默认值,因此我想将List<Second_Model>添加到Second_Models

这是我在First_ModelController.cs尝试过的

_context.First_Models.Add(
    new First_Model {
        Id = "default_id",
        Second_Models = new List<Second_Model>() {
            new List<Second_Model>().Find(p => p.Id == "default_id")
            // given that Second_Model also has default_id
        };
    }
);

但是,这组代码将返回此错误:

ArgumentNullException: Value cannot be null. Parameter name: key

静态创建对象列表看起来像这样:

....
Id = "default_id",
Second_Models = new List<Second_Model>() {
    new Second_Model() { Id = "<your second model ID 1>", OtherProperty = <value> },
    new Second_Model() { Id = "<your second model ID 2>", OtherProperty = <value> },
}

但是,如果要直接将它们添加到上下文中,则可以执行以下操作:

_context.Second_Models.Add(
    new Second_Model() {
        Id = "<your second model ID 1>",
        OtherProperty = <value>,
    }
);
... repeat ...

但这并没有将second_model与first_model关联。
您可能需要阅读更多有关在EF模型上定义外键的信息,因此,请使它们全部结合在一起,因为我认为本教程不包含与此相关的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM