繁体   English   中英

将字符串转换为列表,然后使用实体框架插入数据库

[英]Converting a string into a List and then using Entity Framework to insert into Database

我正在将字符串转换为列表,然后尝试使用实体框架将其插入数据库。 我遇到的问题是我不知道如何将更改保存到数据库。

这是我尝试使用的代码,并且该字符串被转换为列表:

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插入数据库。 foo也是我的实体框架模型的一部分。

我以前从未在这种情况下使用过列表,并且我认为这只是使用db.SaveChanges()的问题,但这似乎不起作用。 我将在哪里放置必要的代码行,例如使用(db = new contextFoo)db.SaveChanges() 还需要添加项目吗? 我不是因为我以为我已经将它们添加到班级了,因此不需要手动执行此操作吗?

db.SaveChanges()只会将数据库“更新”为已更改的内容。 因此,您需要向数据库中添加一些内容,然后调用SaveChanges()使其起作用。

您可以循环列表以将对象添加到上下文中,然后调用SaveChanges() ...

var councilEvents = ConvertJson.Convert<CouncilEvent>(strResponseJSONContent, intCounter);

using (var db = new contextFoo()) 
{
    foreach (var councilEvent in councilEvents)
    {
        db.CouncilEvents.Add(councilEvent);
    }
    db.SaveChanges();
}

暂无
暂无

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

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