我有具有RSVP的EntityCollection的Entity Framework实体事件。我想将RSVP的EntityCollection转换为POCO类RSVP的通用List 。所以我想要EntityCollection-> List。实现这一目标的最佳方法是什么?到目前为止,我有这个(它缺少RSVP部分)var events = from e in _entities.Event.Include("RSVP") select new BizObjects.Event { EventId = e.EventId, Name = e.Name, Location = e.Location, Organizer = e.Organizer, StartDate = e.StartDate, EndDate = e.EndDate, Description = e.Description, CreatedBy = e.CreatedBy, CreatedOn = e.CreatedOn, ModifiedBy = e.ModifiedBy, ModifiedOn = e.ModifiedOn, RSVPs = ??? };谢谢。 最佳答案 我建议您将“选择”代码放入扩展方法中,命名方法类似“ToPoco(此事件事件)”(您将使用此代码进行单个“事件”转换)。您还必须实现用于多个“事件”转换的另一种扩展方法,例如List<BizObjects.Event> ToPoco(this List<Event> events)扩展,它仅在循环中调用BizObjects.Event Poco(this Event event)。之后,您的查询将如下所示:var events = (from e in _entities.Event.Include("RSVP")).ToList().ToPoco(); 关于RSVP:您通常只需创建另一种扩展方法即可进行RSVP转换,例如List<BizObjects.RSVP> ToPoco(this List<RSVP> RSVPs)然后,您可以调用RSVPs = e.RSVPs.ToList().ToPoco()直接适合您的代码的解决方案也可能是这样的:RSVPs = e.RSVPs.Select(rsvp => new RSVP { //do mapping })关于c# - 如何将EntityCollection <T>转换为List <POCOObj>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2437671/
10-12 06:35