如何编写LINQ查询以仅基于特定属性检索不同的记录?

use*_*811 5 c# linq

我有对象的数组,DataTestplans从中我尝试检索特定的记录DataID,并ProductID使用所示的LINQ查询,我目前的查询有Distinct()哪些用于区分所有5点提到的属性,我该如何找回基于性能不重复的记录DataID,TestPlanName,TCIndexListProductID

DataTestplans: -

[
    {
    "DataTestPlanID": 0,
    "DataID": 19148,
    "TestPlanName": "string",
    "TCIndexList": "string",
    "ProductID": 2033915
  },
    {
    "DataTestPlanID": 0,
    "DataID": 19148,
    "TestPlanName": "string",
    "TCIndexList": "string",
    "ProductID": 2033915
  },
      {
    "DataTestPlanID": 0,
    "DataID": 19149,
    "TestPlanName": "string",
    "TCIndexList": "string",
    "ProductID": -2642
  }

]
Run Code Online (Sandbox Code Playgroud)

LINQ

            DataTestPlans_DataID_ProductID = DataTestPlans.Where(c => c.DataID == DataID_ProductID_Record.DataID && c.ProductID == DataID_ProductID_Record.ProductID).Distinct();
Run Code Online (Sandbox Code Playgroud)

sat*_*esh 4

你可以这样做..

DataTestPlans.Where(c => c.DataID == YourInput && c.ProductID == YourInput)
             .GroupBy(x => new {x.DataID,x.TestPlanName,x.TCIndexList,x.ProductID})
             .Select(x => x.First());
Run Code Online (Sandbox Code Playgroud)