0
我如何在Linq to SQL(如果可能的话,VB.NET)中做这样的事情?Linq to SQL:添加自定义列和Order By它?
SELECT *, ISNULL(DueDate, DATEADD(year, 10, GETDATE())) AS DueDateForSorting
FROM Tasks
ORDER BY DueDateForSorting
我如何在Linq to SQL(如果可能的话,VB.NET)中做这样的事情?Linq to SQL:添加自定义列和Order By它?
SELECT *, ISNULL(DueDate, DATEADD(year, 10, GETDATE())) AS DueDateForSorting
FROM Tasks
ORDER BY DueDateForSorting
我不认为SQL提供程序支持向查询添加lambda列。但是,它不支持的聚结操作,因为你基本上是这样做的:
SELECT * FROM Tasks
ORDER BY ISNULL(DueDate, DATEADD(year, 10, GETDATE()))
试试这个:
from o in dc.Orders orderby o.DueDate ?? DateTime.Today.AddYears(10)
如果你需要的是假的,将来某一天也成为你的结果集的一些因此,您可以修改实体类的LINQtoSQL designer.cs文件:
[Column(Storage="_DueDate", DbType="SmallDateTime")]
public System.Nullable<System.DateTime> DueDate
{
get
{
if(this._DueDate == null)
{
return DateTime.Today.AddYears(10);
}
return this._DueDate;
}
所以,如果你曾经问DUEDATE的对象和交货期为空,你至少得远的未来日期。
我该如何做“??”在VB.net? – EdenMachine 2009-02-02 02:05:43