我正在将字符串转换为列表,然后尝试使用实体框架将其插入到数据库中。我遇到的问题是我不知道如何将更改保存到数据库。
这是我尝试使用的代码,也是字符串转换为列表的地方:
if (intCounter == 0)
{
return JsonConvert.DeserializeObject<List<foo>>(jsonString).Cast<T>().ToList();
}
然后在下面的单独课程中。
ConvertJson.Convert<CouncilEvent>(strResponseJSONContent, intCounter);
我尝试用于列表的实体框架模型。
namespace foo.Models
{
public partial class foo
{
public foo()
{
this.EventDates = new List<EventDate>();
}
public System.Guid foo_PK { get; set; }
public string EntityID { get; set; }
public string Address1 { get; set; }
public string Address2 { get; set; }
public string Address3 { get; set; }
public bool Adult { get; set; }
}
}
类foo包含与字符串中的属性匹配的属性。
我正在尝试插入数据库中。 foo也是我的Entity Framework模型的一部分。
我以前从未在这种情况下使用过列表,我认为这只是使用db.SaveChanges()
的问题,但这似乎不起作用。我会在哪里放置必要的代码行,例如使用(db = new contextFoo)
和db.SaveChanges()
。我还需要添加项目吗?我没有,因为我以为我已经将它们添加到课堂中,因此不需要手动执行此操作?
答案 0 :(得分:0)
db.SaveChanges()
只会更新&#39;你的数据库改变了什么。因此,您需要向数据库添加内容,然后调用SaveChanges()
使其生效。
答案 1 :(得分:0)
您可以循环列表以将对象添加到上下文,然后调用SaveChanges()
...
var councilEvents = ConvertJson.Convert<CouncilEvent>(strResponseJSONContent, intCounter);
using (var db = new contextFoo())
{
foreach (var councilEvent in councilEvents)
{
db.CouncilEvents.Add(councilEvent);
}
db.SaveChanges();
}