0

パラメータを削除する前に、パラメータに値が含まれているかどうかを検証する必要があります。パラメータは別のテーブルにあり、値は別のテーブルにあります。ラムダ式を使用してこれを試していますが、正しい方法が見つかりません。これは、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 に値が含まれており、削除できないことを意味します。

ここで私を助けるアイデアはありますか?

4

2 に答える 2

0

CalculationParametersValues にレコードがないすべての CalculationParameters を削除したいということは理解しています。もしそうなら、次のようなことを試してください:

CalculationParameters.RemoveAll(p=> !(CalculationParametersValues.select(c=> c.CalculationParameterId)).contains(p.CalculationParameterId))
于 2013-05-02T13:49:42.153 に答える
0

CalculationParameters の Id が CalculationParametersValues に存在するかどうかを確認したいことがわかりました。

あなたはこれを試すことができます

bool exist =Factory.Definitions.CalculationParameters.List()
            .Any(a=> Factory.Definitions.CalculationParametersValues.List().Any(b=>b.Id ==a.Id))
于 2013-05-02T13:29:22.380 に答える