如果参数在删除之前包含任何值,我需要验证它。参数位于另一个表中,值位于另一个表中。 我正在尝试使用lambda表达式,但只是找不到正确的方法。 这将从CalculationParameters表中获取数据:
Factory.Definitions.CalculationParameters.List(); // List() lists all the data.
这将从CalculationParametersValues表中获取数据:
Factory.Definitions.CalculationParametersValues.List(); // List() lists all the data.
现在,如果“Id”(来自CalculationParameter)等于“CalculationParameterId”(来自CalculationParametersValue),则表示CalculationParameter包含值,我无法删除它。
有没有人有任何想法帮助我?
答案 0 :(得分:0)
如果我知道您要检查CalculationParametersValues中是否存在CalculationParameters中的ID
你可以试试这个
bool exist =Factory.Definitions.CalculationParameters.List()
.Any(a=> Factory.Definitions.CalculationParametersValues.List().Any(b=>b.Id ==a.Id))
答案 1 :(得分:0)
我知道您要删除所有在CalculationParametersValues中没有记录的CalculationParameters。如果是这样,尝试这样的事情:
CalculationParameters.RemoveAll(p=> !(CalculationParametersValues.select(c=> c.CalculationParameterId)).contains(p.CalculationParameterId))