在 EF4 中使用相同的连接添加和编辑

本文关键字:连接 添加 编辑 EF4 | 更新日期: 2023-09-27 18:36:45

我正在使用EF4在数据库中查找项目,以确定是否需要像这样插入或编辑它:

 List<Campground> CampgroundEntities = new List<Campground>();
 using (MiscEntities pd = new MiscEntities())
            {
                Campground kc = pd.Campground.FirstOrDefault(i => i.Name == name);
                if (kc != null)
                {
                    kc.StreetAddress = streetAddress;
                    kc.City = city;
                    kc.State = state;
                    kc.Zip = zip;
                    kc.URL = campgroundUrl;
                    kc.UpdatedDT = DateTime.Now;
                    CampgroundEntities.Add(kc);
                }
                else
                {
                    kc = new Campground();
                    kc.Name = name;
                    kc.StreetAddress = streetAddress;
                    kc.City = city;
                    kc.State = state;
                    kc.Zip = zip;
                    kc.URL = campgroundUrl;
                    kc.AddedDateTime = DateTime.Now;
                    CampgroundEntities.Add(kc);
                }
            }

我正在将我的实体添加到列表中,然后,我想将这些更改提交到数据库:

        using (MiscEntities pd = new MiscEntities())
        {
            foreach (var item in CampgroundEntities)
            {
                pd.Campground.AddObject(item);
            }
            pd.SaveChanges();
        }

现在显然这不起作用,但如果可能的话,我想使用该连接来处理插入和更新。 能做到吗?

在 EF4 中使用相同的连接添加和编辑

using (MiscEntities pd = new MiscEntities())
{
    Campground kc = pd.Campground.FirstOrDefault(i => i.Name == name);
    if (kc == null)
    {
        kc = new Campground();
        pd.Campground.Add(kc);          
    }
    kc.StreetAddress = streetAddress;
    kc.City = city;
    kc.State = state;
    kc.Zip = zip;
    kc.URL = campgroundUrl;
    kc.UpdatedDT = DateTime.Now;
    CampgroundEntities.Add(kc);
}