循环访问列表并添加到数据库上下文
本文关键字:数据库 上下文 添加 访问 列表 循环 | 更新日期: 2023-09-27 17:56:37
我正在尝试使用实体框架将插入数据添加到数据库中。
public class list1 {
public string element1 { get; set; }
public string element2 { get; set; }
public string element3 { get; set; }
public string element4 { get; set; }
public string element5 { get; set; }
}
上面的列表包含填充的字段,但位于业务层。
public class list2 {
public string element1 { get; set; }
public string element2 { get; set; }
public string element3 { get; set; }
public string element4 { get; set; }
public string element5 { get; set; }
}
上面的列表是映射到数据库的实体框架对象,如何循环访问它们之间的复制数据?
var foo = ConvertJson.Convert<"list1">(strResponseJSONContent); using (var db = new DBContext())
{ foreach (foo中的var元素)
{ db.list2.Add(element);
} }
我在此行收到错误db.list2.Add(element);
说"最好的重载方法包含一些无效参数"。我不确定为什么会产生此错误。我认为使用 foreach 循环并将它们添加到上下文中会起作用,但事实并非如此。有什么建议吗?我需要先映射它们还是类似的东西?
虽然你已经给出了类型名称,list2
但类型不是一个List
,它是一个类。因此,您将不会有一个名为Add
的方法。您可能需要一个List<list2>
但不确定,因为它取决于您的业务需求。
您必须调用db.SaveChanges()
来提交更改...
更重要的是,您需要有一个扩展DBContext
类来对数据库进行建模,而不是直接实例化DbContext
。
此外,Add
方法使用Add
方法将元素添加到Collection
而不是类。扩展的DbContext
必须具有DbSet
成员。我建议您尝试像这样的实体框架教程:http://www.entityframeworktutorial.net/code-first/simple-code-first-example.aspx