循环访问列表并添加到数据库上下文

本文关键字:数据库 上下文 添加 访问 列表 循环 | 更新日期: 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