1

我有一个看起来像这样的查询:

var TheOutput = from u in MyDC.TheTable
                where ....
                orderby u.TheDateTimeUsed
                select new MyModel()
                {
                   ....
                   TheDateCreated = u.TheDateTimeCreated,
                   TheDateUsed = u.TheDateTimeUsed
                   ...

                };

return TheOutput.Take(10).ToList();

u.DateTimeUsed 是一个可以为空的日期。如果值为空,那么我希望这些记录首先出现在我正在加载的 10 个列表中。

我怎样才能做到这一点?

谢谢。

4

1 回答 1

3

也许是这样的:

var TheOutput = from u in MyDC.TheTable
                where ....
                orderby !u.TheDateTimeUsed.HasValue
                orderby u.TheDateTimeUsed
                select new MyModel()
                {
                   ....
                   TheDateCreated = u.TheDateTimeCreated,
                   TheDateUsed = u.TheDateTimeUsed
                   ...

                };

你也可以这样做:

var TheOutput = from u in MyDC.TheTable
                where ....
                orderby u.TheDateTimeUsed??DateTime.MinValue
                select new MyModel()
                {
                   ....
                   TheDateCreated = u.TheDateTimeCreated,
                   TheDateUsed = u.TheDateTimeUsed
                   ...

                };

不如第一个好看。

于 2012-04-07T13:49:01.143 回答