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