Linq中的复杂订单

时间:2018-04-25 10:55:34

标签: linq sql-order-by

我有一个DemoInfo对象列表,其中包含StatInfo对象列表,如下所示:

"_sf2_attributes|a:2:{s:18:\"_csrf/authenticate\";s:43:\"Fc3iwpceqYiNmAn1FbUyQyaEPdu7qbI_unu5dBAgaTg\";s:14:\"_security_main\";s:456:\"C:74:\"Symfony\\Component\\Security\\Core\\Authentication\\Token\\UsernamePasswordToken\":368:{a:3:{i:0;N;i:1;s:4:\"main\";i:2;s:328:\"a:4:{i:0;C:21:\"AppBundle\\Entity\\User\":127:{a:5:{i:0;i:52;i:1;s:12:\"user123\";i:2;s:60:\"$2y$13$mgT//whXPFsj7b0XCAWhdeiC2oGZqojiAzky.6sThuN6MI9zALt1.\";i:3;i:1;i:4;i:1;}}i:1;b:1;i:2;a:1:{i:0;O:41:\"Symfony\\Component\\Security\\Core\\Role\\Role\":1:{s:47:\"\x00Symfony\\Component\\Security\\Core\\Role\\Role\x00role\";s:9:\"ROLE_USER\";}}i:3;a:0:{}}\";}}\";}_sf2_flashes|a:0:{}_sf2_meta|a:3:{s:1:\"u\";i:1524485577;s:1:\"c\";i:1524485576;s:1:\"l\";s:1:\"0\";}"

进一步的StatInfo在对象

之下
"{\"_sf2_attributes\":{\"_csrf\\/authenticate\":\"hvNt4SQIm7IArE57JgHyuVSCLlt4hrw1D-PVC_kBfKA\",\"_security_main\":\"C:74:\\\"Symfony\\\\Component\\\\Security\\\\Core\\\\Authentication\\\\Token\\\\UsernamePasswordToken\\\":368:{a:3:{i:0;N;i:1;s:4:\\\"main\\\";i:2;s:328:\\\"a:4:{i:0;C:21:\\\"AppBundle\\\\Entity\\\\User\\\":127:{a:5:{i:0;i:52;i:1;s:12:\\\"user123\\\";i:2;s:60:\\\"$2y$13$mgT\\/\\/whXPFsj7b0XCAWhdeiC2oGZqojiAzky.6sThuN6MI9zALt1.\\\";i:3;i:1;i:4;i:1;}}i:1;b:1;i:2;a:1:{i:0;O:41:\\\"Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\\":1:{s:47:\\\"\\u0000Symfony\\\\Component\\\\Security\\\\Core\\\\Role\\\\Role\\u0000role\\\";s:9:\\\"ROLE_USER\\\";}}i:3;a:0:{}}\\\";}}\"},\"_sf2_flashes\":[],\"_sf2_meta\":{\"u\":1524651793,\"c\":1524651793,\"l\":\"0\"}}"

我需要通过createdDate

排序DemoInfo

我怎么能在Linq中做到这一点?

1 个答案:

答案 0 :(得分:0)

您的问题是因为您没有获得正确的规范

  

我需要通过createdDate

排序DemoInfo

你不能这样做,因为DemoInfo没有CreatedDate。如果您认为在DemoInfo获得第一个StatInfo的那天创建了StatInfo,那么您可以使用最早的DemoInfo订购:

  

我需要按照创建日期按升序排序StatInfo的序列,该日期定义为其最早CreatedDate的日期。

这仍有问题:DemoInfo移除所有StatInfos之后的StatInfo是什么?删除包含多个DemoInfo的{​​{1}}中最早的StatInfos会突然更改CreatedDate的{​​{1}}。

但是,让我们假设这对您没有问题,并且您希望所有DemoInfo在您的结果中没有任何DemoInfo,因为他们会得到他们的{{1将来,当它获得第一个StatInfo时。您的查询将如下:

CreationDate

这可以更聪明:您不必对所有createdDates进行排序,您只需要具有最小TickCount的createdDate:

StatInfo

按升序TickCount排序