2009-02-02 59 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