gpt4 book ai didi

c# - 新手 Linq to SQL 映射到 POCO 的正确方法?

转载 作者:行者123 更新时间:2023-12-02 22:33:28 25 4
gpt4 key购买 nike

带着一点尴尬,我想询问/确定将 Linq-To-SQL 查询映射到 POCO 的最佳方法。我目前无法使用 EF,所以坚持使用 Linq-To-SQL。

到目前为止,我有一个简单的类如下:

public class DiaryEvent
{
public Int64 ID { get; set; }
public string ResourceCalendarID { get; set; }
public string EventTitle { get; set; }
public string Location { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public string Description { get; set; }
public string ResourceColour { get; set; }
public bool AllDay { get; set; }
}

我的 Linq-to-SQL (LTS) 查询如下:

DataClassesDataContext db = new DataClassesDataContext();
var qry =
from b in db.bookings
select b

因为数据库表 bookings 不是/不能完全按照我的 DiaryEvent 类来创建,所以我目前正在迭代 b,例如:

List<DiaryEvent> EventList = new List<DiaryEvent>();
foreach (booking item in qry)
{
EventList.Add(new DiaryEvent
{
AllDay = false,
Description = item.bookingDescription,
ID = item.bookingID,
StartDate = (DateTime)item.startDate,
EndDate = (DateTime)item.endDate,
EventTitle = item.bookingName,
Location = item.bookingLocation,
ResourceCalendarID = item.resourceID.ToString(),
ResourceColour = item.bookingColour.Trim()
});
}

这正确地映射了我的数据,但是我不确定这是否是实现此目的的最快/最正确的方法?对于确认上述技术是否可以接受,或者是否有改进方法的任何反馈,我将不胜感激?

P.S:公平地说,不会有大量数据需要检索……在任何给定情况下可能只有几百行。

提前致谢!

最佳答案

除非我误解了什么,否则您可以将代码简化为如下所示:

var EventList = (from b in db.bookings
select new DiaryEvent
{
AllDay = false,
Description = b.bookingDescription,
ID = b.bookingID,
StartDate = (DateTime)b.startDate,
EndDate = (DateTime)b.endDate,
EventTitle = b.bookingName,
Location = b.bookingLocation,
ResourceCalendarID = b.resourceID.ToString(),
ResourceColour = b.bookingColour.Trim()
}).ToList();

结果实际上是一样的,但它使您不必使用 foreach。

关于c# - 新手 Linq to SQL 映射到 POCO 的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11820300/

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