我有以下查询,有时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