Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何转换EntityCollection<;T>;列出<;POCOObj>;_C#_Asp.net_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 如何转换EntityCollection<;T>;列出<;POCOObj>;

C# 如何转换EntityCollection<;T>;列出<;POCOObj>;,c#,asp.net,asp.net-mvc,entity-framework,C#,Asp.net,Asp.net Mvc,Entity Framework,我有EntityFramework实体事件,其中EntityCollection为RSVP。我想将RSVP的EntityCollection转换为POCO类RSVP的通用列表 所以我想要EntityCollection->List 实现这一目标的最佳方式是什么 到目前为止,我有这个(它缺少RSVP部分) 谢谢。我建议您将“选择”代码放入名为“ToPoco(此事件)”的扩展方法中(您将使用此代码进行单个“事件”转换) 您还必须为多个“事件”转换实现另一个扩展方法,如List ToPoco(this

我有EntityFramework实体事件,其中EntityCollection为RSVP。我想将RSVP的EntityCollection转换为POCO类RSVP的通用列表

所以我想要EntityCollection->List

实现这一目标的最佳方式是什么

到目前为止,我有这个(它缺少RSVP部分)

谢谢。

我建议您将“选择”代码放入名为“ToPoco(此事件)”的扩展方法中(您将使用此代码进行单个“事件”转换)

您还必须为多个“事件”转换实现另一个扩展方法,如
List ToPoco(this List events)
扩展,它只在循环中调用
BizObjects.Event Poco(this Event Event)

之后,您的查询将如下所示:

var events = (from e in _entities.Event.Include("RSVP")).ToList().ToPoco();
关于RSVP:

您通常只需为RSVP转换创建另一个扩展方法,如

列出ToPoco(此列表为RSVPs)

然后可以调用
RSVPs=e.RSVPs.ToList().ToPoco()


直接适合您的代码的解决方案也可以是这样的:

RSVPs = e.RSVPs.Select(rsvp => new RSVP  { //do mapping })

我尝试了您的上一个解决方案,但必须将.ToList添加到.Select。但是,我收到一个EntityFramework错误,说明它无法转换ToList()。我会在以后有机会的时候发布错误。你为我指明了正确的方向。谢谢签出此博客文章。
RSVPs = e.RSVPs.Select(rsvp => new RSVP  { //do mapping })
    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 = from r in e.RSVP
                             select new BizObjects.RSVP
                             {
                                 RSVPId = RSVPId,
                                 // etc.
                             }
                 };