这可能会推动Linq-to-Sql的界限,但考虑到它迄今为止的多功能性,我认为我会问。将Linq-to-Sql查询的WHERE子句作为参数传递
我有3个查询所选择相同的信息,而是仅其中子句中不同,现在我知道我可以通过委托,但这只能让我来过滤已返回的结果,但我想建立通过参数查询来确保效率。
下面是该查询:
from row in DataContext.PublishedEvents
join link in DataContext.PublishedEvent_EventDateTimes
on row.guid equals link.container
join time in DataContext.EventDateTimes on link.item equals time.guid
where row.ApprovalStatus == "Approved"
&& row.EventType == "Event"
&& time.StartDate <= DateTime.Now.Date.AddDays(1)
&& (!time.EndDate.HasValue || time.EndDate.Value >= DateTime.Now.Date.AddDays(1))
orderby time.StartDate
select new EventDetails
{
Title = row.EventName,
Description = TrimDescription(row.Description)
};
我想通过一个参数来应用代码将是:
time.StartDate <= DateTime.Now.Date.AddDays(1) &&
(!time.EndDate.HasValue || time.EndDate.Value >= DateTime.Now.Date.AddDays(1))
这可能吗?我不认为这是,但认为我会先退房。
谢谢
啊,这看起来可行,我会给它一个去,谢谢。 – Mantorok 2010-04-26 09:55:53