有一點尷尬,我想要問/確定將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