子对象的实体框架核心附加/更新

时间:2018-11-21 16:10:30

标签: .net-core entity-framework-core

我使用的是实体框架核心2.1,并且我的数据库上下文包含以下类

public class MultiStringSetting
{
    public int Id { get; set; }
    public virtual IEnumerable<MultiString> Values { get; set; }
}

public class MultiString
{
    public int Id { get; set; }
    public string Value { get; set; }
}

请考虑以下内容:我的数据库中有3个MultiString对象,其ID为1、2和3。我当前的MultiStringSetting的{​​{1}}中有MultiString 1。我现在想做的是将Values的{​​{1}}设置为2和3,而无需从数据库中删除Values 1。我怎样才能做到这一点?我尝试了诸如MultiStringSettingMultiString之类的事情,但对我来说都没有成功。

奖金问题:如果我有与上述相同的情况,但是我现在有一个attach的列表,并且我想全部更新它们怎么办?

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,首先从数据库中获取所有对象,然后使用.Remove()手动删除对象。删除所有引用后,我然后使用.Add()将它们与新对象一起添加回去。