だから私は以下のlinqステートメントに固執しています。
public void ReturnHire(string carregistration, string hirefromdate, string hiretodate)
{
var result = customermembers.Where(c => c.CustomerCarType.Where(n => String.Equals(n.CarRegistration, carregistration)).FirstOrDefault(); // this line
if (result != null)
{
customermembers.ForEach(c => c.CustomerHireDate.RemoveAll(cs => cs.HireFromDate == hirefromdate && cs.HireToDate == hiretodate));
customermembers.ForEach(c => c.CustomerCarType.RemoveAll(cs => cs.CarRegistration == carregistration));
}
}
私のxmlは次のようになります:
<ArrayOfCustomer>
<Customer>
<CustomerID>1</CustomerID>
<FirstName>G</FirstName>
<LastName>Graam</LastName>
<Age>27</Age>
<CustomerHireDate>
<HireDate>
<HireFromDate>15.07.2012</HireFromDate>
<HireToDate>29.07.2012</HireToDate>
</HireDate>
</CustomerHireDate>
<CustomerCarType>
<CarType>
<CarRegistration>IAWB-OOTO</CarRegistration>
</CarType>
</CustomerCarType>
</Customer>
</ArrayOfCustomer>
私のクライアント側では、顧客は車両を「返却」する必要があります。私にとってこれは基本的に、日付の前後に雇用を削除し、顧客内から登録番号を削除することです. しかし、これは登録番号だけでこの削除を行わなければならないキャッチです。そのため、where 句内で where を実行しようとしましたが、暗黙的に CarType を bool に変換できないと表示されます。
私の Web サービスには次のリストがあります。
List<Customer> customermembers = new List<Customer>();
List<HireDate> hiredates = new List<HireDate>();
List<CarType> cartypes = new List<CarType>();
ちょうどcustomermembers where customer car type where rehistration number equals mystring
良かったかな?と思いました。