選擇,我有如下圖所示C#LINQ從列表
public IEnumerable<EventFeed> GetEventIdsByEventDate(DateTime eventDate)
{
return (from feed in xmlDoc.Descendants("Show")
from ev in feed.Elements("Event")
where Convert.ToDateTime(ev.Attribute("Date").Value).ToShortDateString() == eventDate.ToShortDateString()
select new EventFeed()
{
EventShowCode = feed.Attribute("Code").Value
}).ToList();
}
我現在需要查詢我的數據庫,以匹配等於eventIds從上述方法返回的事件事件的IDS從XML文檔返回一個列表。所以,我有這樣的事情:
SELECT * FROM eventsdb其中EVENTID在GetEventIdsByEventDate()
我怎樣才能做到這一點使用LINQ
我似乎無法得到任何工作的答案。
這是查找從XML飼料eventIds方法
public IList<EventsDetails> GetEventIds(DateTime eventDate)
{
var eventids = (from feed in xmlDoc.Descendants("Show")
from ev in feed.Elements("Event")
where Convert.ToDateTime(ev.Attribute("Date").Value).ToShortDateString() == eventDate.ToShortDateString()
select new EventsDetails()
{
EventId = feed.Attribute("Code").Value
}).ToList();
return eventids;
}
這是查找該事件在我的數據庫
public IEnumerable<EventFeed> GetAllEventsFromDatabase()
{
var allEvents = from eventsList in GetEventsList()
select new EventFeed()
{
EventName = eventsList.Title,
EventSummary = eventsList.Introduction,
EventShowCode = eventsList.EventId,
EventImageSmall = eventsList.EventImageThumbUrl,
EventUrl = eventsList.Url,
EventSortBy = eventsList.SortOrder
};
return allEvents.OrderBy(x => x.EventSortBy);
}
的方法,這是看的方法在我的數據庫中存在XML中的任何匹配eventIds
public IEnumerable<EventFeed> FilteredEvents(DateTime eventDate)
{
return GetAllEventsFromDatabase().Where(p => GetEventIds(eventDate).Contains<EventsDetails>(p.EventShowCode));
}
項目失敗建立與以下錯誤:
錯誤9參數「2」:不能從「字符串」轉換爲「Events.EventsDetails」
KB:你對此有一個明確的答案了嗎?你能不能標出來,以便我們知道正確的答案。 – theraneman 2010-06-25 12:31:57