有点尴尬,我想问/确定将 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()
});
}
这可以正确映射我的数据,但是我不确定这是否是实现这一目标的最快/最正确的方法?如果有任何反馈可以确认上述技术是否可以接受,或者是否有改进的方法,我将不胜感激?
PS:公平地说,不会有大量数据要检索..在任何给定情况下可能只有几百行。
提前致谢!