2009-02-02 67 views

回答

2

我不认为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的对象和交货期为空,你至少得远的未来日期。

+0

我该如何做“??”在VB.net? – EdenMachine 2009-02-02 02:05:43