C#を使用してContractIDが2である次のxmlファイルから最後の1ステータスを選択するにはどうすればよいですか?
<actions>
<Action>
<ID>2</ID>
<ContractID>1</ContractID>
<EmployeeID>1</EmployeeID>
<Date>2012-09-04 00:00:00.000</Date>
<Reply/>
<Status>4002</Status>
</Action>
<Action>
<ID>2</ID>
<ContractID>2</ContractID>
<EmployeeID>1</EmployeeID>
<Date>2012-09-04 00:00:00.000</Date>
<Reply/>
<Status>4005</Status>
</Action>
<Action>
<ID>2</ID>
<ContractID>2</ContractID>
<EmployeeID>1</EmployeeID>
<Date>2012-09-04 00:00:00.000</Date>
<Reply/>
<Status>4008</Status>
</Action>
</actions>
linqtoxmlまたはその他の方法を使用して上位nを選択する方法
そして、次のSQLクエリに相当するlinqtoxmlコードは何ですか。
Select contracts.ID, contracts.ContractNo,
(select FieldName from tbl_SysType where ID =
(select top 1 status from tbl_EmployeesActions where ContractID=contracts.ID and Status is not null order by ID desc ))as ContractStatus
from tbl_Contracts as contracts
以下のようにContracts.xml、SysType.xml、およびEmployeesActions.xmlという名前のxmlファイルがある場合Contracts.xml
<Contracts>
<Contract>
<ID>1</ID>
<ContractNo>Mob124444</ContractNo>
</Contract>
<Contract>
<ID>2</ID>
<ContractNo>Mob124445</ContractNo>
</Contract>
</Contracts>
EmployeesActions.xml
<actions>
<Action>
<ID>2</ID>
<ContractID>1</ContractID>
<EmployeeID>1</EmployeeID>
<Date>2012-09-04 00:00:00.000</Date>
<Reply/>
<Status>4002</Status>
</Action>
<Action>
<ID>2</ID>
<ContractID>2</ContractID>
<EmployeeID>1</EmployeeID>
<Date>2012-09-04 00:00:00.000</Date>
<Reply/>
<Status>4005</Status>
</Action>
<Action>
<ID>2</ID>
<ContractID>2</ContractID>
<EmployeeID>1</EmployeeID>
<Date>2012-09-04 00:00:00.000</Date>
<Reply/>
<Status>4008</Status>
</Action>
</actions>
Systype.xml
<SysTypes>
<systype>
<ID>4002</ID>
<FieldName>New</FieldName>
</systype>
<systype>
<ID>4005</ID>
<FieldName>Opened</FieldName>
</systype>
<systype>
<ID>4008</ID>
<FieldName>Closed</FieldName>
</systype>
</SysTypes>