Gui*_*mez 5 c# asp.net asp.net-mvc entity-framework
我有实体框架实体事件,其实体集合为RSVP.我想将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 = ???
};
Run Code Online (Sandbox Code Playgroud)
谢谢.
我建议您将“选择”代码放入名为“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();
Run Code Online (Sandbox Code Playgroud)
关于回复:
您通常只需为 RSVP 转换创建另一个扩展方法,例如
List<BizObjects.RSVP> ToPoco(this List<RSVP> RSVPs)
然后你就可以打电话RSVPs = e.RSVPs.ToList().ToPoco()
直接适合您代码的解决方案也可能是这样的:
RSVPs = e.RSVPs.Select(rsvp => new RSVP { //do mapping })
Run Code Online (Sandbox Code Playgroud)