【问题标题】:Entity Framework 4 Updating child collectionsEntity Framework 4 更新子集合
【发布时间】:2023-04-05 20:10:05
【问题描述】:

我在下面创建了一些基本的示例代码。我正在使用实体框架。我有一个包含子集合的父对象。我最初设置了三个孩子。当我更新孩子时,我删除了一个(约翰)并添加了一个(莎拉),另外两个(玛丽和安妮)保持不变。考虑到背后的数据库,有什么方法可以轻松做到这一点?

public class test
{       

    public test()
    {            
        Parent father = new Parent();

        father.Children.Add(new Child() { FirstName = "Mary" });
        father.Children.Add(new Child() { FirstName = "Anne" });
        father.Children.Add(new Child() { FirstName = "John" });  

        SaveEntityFramework();
    }

    public void UpdateChildren
    {
        Parent father = EntityFramework.GetParentByID(1);

        // Remove John
        father.Children.Remove(new Child() { FirstName = "John" });

        // Add Sarah
        father.Children.Add(new Child() { FirstName = "Sarah" }); 

        // Update or do Nothing Mary & Anne

        SaveEntityFramework();
    }
}

public class Parent
{
    public string Name { get; set; }
    public List<Child> Children;
}

public class Child
{
    public string FirstName { get; set; }
}

【问题讨论】:

  • 您发布的代码有什么问题?它不工作吗?

标签: entity-framework-4


【解决方案1】:

您是否将父亲添加到您的 EntityFramework 上下文中?您只是在创建它,添加 3 个孩子,然后保存!

public test()
{            
    Parent father = new Perent();
    EntityFramework.Parents.Add(father);

    // Add children

    SaveEntityFramework();
}

此外,请确保您在执行EntityFramework.GetParentByID(1); 时得到的结果是您正在寻找的Parent

希望这会有所帮助;)

【讨论】:

    猜你喜欢
    • 2017-02-11
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 2011-02-07
    相关资源
    最近更新 更多