我有以下代码:LINQ/LAMBDA .OrderBy(日期类型).ThenBy(枚举类型)
transactionBindingSource.DataSource = context.Transactions
.Where(t => t.Date >= BeginningDate &&
t.Date <= EndDate)
.OrderBy(t => t.Date)
.ThenBy(t => t.TransactionType)
.ToList();
这是一个交易清单。我想按日期先订购交易,然后按类型订购。该类型是我创建的枚举。枚举可以通过存款或提款。
枚举代码:
enum CashFlowTransactionType
{
Deposit = 10,
Withdrawal = 20
}
当我从日期,然后交易类型此列表它的订单我的DataGrid,但存款之前提出退学。我需要存款才能在提款前发帖。我认为它会通过枚举值对它进行排序,这就是为什么我进行了存款10和取消20.这似乎并不是这种情况。
在此先感谢。
请显示一个简短但完整的程序来演示问题。我预计这会很好。 (这在数据库中看起来像什么?你的表中有相同的枚举值吗?日志是什么样的?) – 2015-02-23 20:56:26
Date是'DateTime'字段吗?是否存在影响结果的时间组件? – 2015-02-23 21:06:02
该值在数据库中显示为整数。当我使用OrderBy(t => t.TransactionType)时,它按预期工作。 ThenBy()有不同的限制吗? – Safari137 2015-02-23 21:16:36