繁体   English   中英

迭代列表并添加到db上下文

[英]Iterating through a list and adding to db context

我正在尝试使用Entity Framework将插入数据添加到数据库中。

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); 使用(var db = new DBContext())
{foreach(foo中的var元素)
{
db.list2.Add(元件);
}
}

我在此行收到错误db.list2.Add(element); 说'最好的重载方法包含一些无效的参数'。 我不确定为什么会产生这个错误。 我认为使用foreach循环并将它们添加到上下文中会起作用,但事实并非如此。 有什么建议么? 我需要先将它们映射到类似的东西吗?

您必须调用db.SaveChanges()来提交更改...

更重要的是,您需要一个扩展DBContext的类来为您的数据库DBContext ,而不是直接实例化DbContext

另外, Add方法添加元素的Collection不与类Add方法。 您扩展的DbContext必须具有DbSet成员。 我建议你尝试像这样的Entity Frameowrk教程: http ://www.entityframeworktutorial.net/code-first/simple-code-first-example.aspx

虽然您已将类型名称指定为list2但类型不是List ,而是类。 所以你不会有一个名为Add的方法。 您可能需要List<list2>但不确定,因为它取决于您的业务需求。

暂无
暂无

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

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