有一点尴尬,我想要问/确定将Linq-To-SQL查询映射到POCO的最佳方式。我目前无法使用EF,所以坚持使用Linq-To-SQL。新手Linq to SQL以正确的方式映射到POCO?
截至目前,我有一个简单的类,如下所示:
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到SQL(LTS)查询如下:
DataClassesDataContext db = new DataClassesDataContext();
var qry =
from b in db.bookings
select b
因为数据库表预订ISN “T /不能精确地创建为我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:公平地说,没有大量的数据可以检索..也许在任何给定的情况下有几百行。
在此先感谢!
也许AutoMapper可以提供帮助,但是......如果你有什么工作...... – 2012-08-05 21:47:07
AutoMapper有一个关于该问题http://www.devtrends.co.uk/blog/stop-using-automapper-in-你的数据访问代码,所以你必须决定是否要使用它。 – 2012-08-05 22:02:13
嘿,谢谢你们..我听说过automapper ..所以谢谢你指出,并且@Leo Luis,感谢那篇文章..写得很好 - 没有阅读所有内容,但很好理解“为什么”要么使用或不使用的东西..所以谢谢你! – 2012-08-06 06:33:21