gpt4 book ai didi

c# - 如何将 EntityCollection 转换为 List

转载 作者:太空狗 更新时间:2023-10-29 23:48:43 26 4
gpt4 key购买 nike

我有 Entity Framework 实体 Events,它有一个 EntityCollection of RSVP。我想将 RSVP 的 EntityCollection 转换为 POCO 类 RSVP 的通用列表<>。

所以我想要 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com