如何将所有记录合并到2条记录并删除所有未组合的记录?

时间:2015-12-11 18:01:55

标签: c# asp.net entity-framework

我使用以下代码组合(使用逗号)具有相同Symptom_Type的输入记录。问题是现在我可以将记录组合​​并插入到DB中,但是如何从" nPG_Chemical.NPG_Chemical_Symptoms"中删除那些未组合的记录? enter image description here

var SymptomType = nPG_Chemical.NPG_Chemical_Symptoms.GroupBy(Type => Type.Symptom_Type);
foreach (var type in SymptomType)
{
    var text = String.Join(", ", type.Select(x => x.Symptom_Text.ToString()).ToArray());
    nPG_Chemical.NPG_Chemical_Symptoms.Add(new NPG_Chemical_Symptom
    {
        Symptom_Type = type.Key.ToString(),
        Symptom_Text = text
    });

    db.SaveChanges();
}

2 个答案:

答案 0 :(得分:3)

我不确定我是否理解你的要求。看起来你想要的只是

  

按Symptom_Type组合记录并将其插入数据库后,您要删除原始记录。

如果这是你想要的,你可以这样做

db.YourTable
    .RemoveRange(db.YourTable
                    .Where(x => !x.Symptom_Text.Contains(",")));

答案 1 :(得分:0)

对于每个基本记录,查找base.Symptom_Type包含当前验证记录的Symptom_Type的所有记录。