我有以下功能通過與動態LINQ對象循環聯接
public List<Object> GetEventsForAdmin()
{
using (var dbEntities = new CapeledEntities())
{
return (from e in dbEntities.Events
join lnk in dbEntities.linkEventCategories on e.EventId equals lnk.EventId
join cat in dbEntities.Categories on lnk.CategoryId equals cat.CategoryId
orderby e.StartDateTime descending
select new {
e.EventId,
EventTitle = e.Title,
e.StartDateTime,
e.Description,
CatTitle = cat.Title
}
).ToList<Object>();
}
}
我使用
var eventHelper = new BusinessLogic.DatabaseAccess.Helpers.BLEvents();
foreach (var myEvent in eventHelper.GetEventsForAdmin())
{
txtTitle.text = myEvent.CatTitle;
txtDescription.text = myEvent.description;
}
然而myEvent.CatTitle和myEvent.description不哎呀發現
}
您已將返回的匿名類型列表轉換爲對象。 foreach循環中的代碼不知道它們是什麼。你可以嘗試foreach(動態myEvent在...)而不是var。編譯器會接受你放在myEvent之後的任何東西。 ,但如果它不存在於匿名類型的對象上,則會在運行時抱怨。 – Baldrick
'GetEventsForAdmin'中每個元素的實際類型是**匿名類型**,您無法訪問其範圍之外的匿名類型對象。這不是'動態的' –