【发布时间】:2012-01-06 22:50:20
【问题描述】:
我在我的 EntityDataSource 中使用 CASE 语句进行自定义排序。考虑以下代码:
<asp:EntityDataSource ID="myEntityDataSource" runat="server"
ConnectionString="name=MySQLEntities1"
DefaultContainerName="MySQLEntities1"
EnableFlattening="False"
EntitySetName="Persons"
EntityTypeFilter="Persons"
OrderBy="it.[Pack],
CASE it.[Type]
WHEN 'MAN' THEN 1
WHEN 'VROUW' THEN 2
WHEN 'KIND' THEN 3
END,
it.[BirthDate] ASC" />
在 T-SQL 中,这将是一种非常正常的排序方式,但在 EntityDataSource 中使用它会引发以下异常:
查询语法无效。靠近标识符“it”,第 11 行,第 11 列 21.
如何让这种类型的排序在我的EntityDataSource 中工作?
【问题讨论】:
标签: asp.net sql sql-server entity-framework entitydatasource