我有以下查詢,有時ExpirationDate
爲空,這會導致查詢和應用程序崩潰。如果ExpirationDate
爲空,我想爲ExpirationDate
返回""
。如何在LINQ中添加此條件?將字符串設置爲「」在一個LINQ查詢中NULL NULL
List<PData> pressData =
(from press in dataContext.CPress
where press.ID.ToString() == this.PressID
select new PData
{
Heading = press.Heading,
Description = press.MetaDescription,
DatePublished = press.PublishDate.ToShortDateString(),
ExpirationDate = press.ExpirationDate.Value.ToShortDateString(),
Body = press.BodyContent,
CreatedBy=press.CreatedBy
}).ToList();
UPDATE:
添加代碼喬恩建議我得到下面的異常
Could not translate expression 'Table(CPress).Where(press =>
(press.PressID.ToString()= 調用(值(System.Func` 1 [System.String]))))。Select(press => new PData(){Heading = press.Heading,Description = press.MetaDescription,DatePublished = press.PublishDa te.ToShortDateString(), 到期日期= IIF((press.ExpirationDate = NULL) 「」, press.ExpirationDate.Value.ToShortDateString()), 車身= press.BodyContent,ID = press.PressID,CreatedBy = press.CreatedBy})'到SQL,並可能 不把它當作本地表達式。
以到期日期出完全例外消失
我正在使用綁定語法將值綁定到控件。如何在DateTime類型的東西上使用綁定語法? – 2011-04-20 15:33:20
Text ='<%#Eval(「ExpirationDate」)%>' – 2011-04-20 15:35:09
@Nick:您可以指定格式字符串。例如:'<%#Eval(「ExpirationDate」,「{0:MM/dd/yyyy}」)%> – 2011-04-20 15:40:09