使用Windows窗體控件和LINQ時,您的Buisiness Layer如何返回數據的「最佳選項」?Windows窗體控件和LINQ;我應該返回什麼?
現在我正在返回DataTables,以便可以將DataSource設置爲返回的DataTable。有更好的選擇嗎?爲什麼?
public class BLLMatrix
{
public static DataTable GetMaintItems(int iCat)
{
IQueryable<tblCaseNotesMaintItem> tItems = DALMatrix.GetCNTable();
return
(tItems.Where(item => item.CategoryID == iCat & item.IsActive).OrderBy(item => item.OrderID).Select(
item => new { item.ItemID, item.ItemDescription })).CopyLinqToDataTable();
}
internal static class DALMatrix
{
internal static MatrixDataContext MatrixDataContext = new MatrixDataContext();
internal static Table<tblCaseNotesMaintItem> GetCNTable()
{
return MatrixDataContext.GetTable<tblCaseNotesMaintItem>();
}
我發現這個類似的問題 - >Separating concerns with Linq To SQL and DTO's
當你說包含DataTables的DataSet時,正確嗎?另外,你有沒有DTO的好例子?我會谷歌,但如果你有一個好的,我更喜歡推薦... – 2009-08-19 15:29:49
@Refracted聖騎士:維基百科有一個很好的條目在數據傳輸對象在這裏:http://en.wikipedia.org/wiki/Data_transfer_object有一個很好的文章於2009年8月發佈的MSDN標題「數據傳輸對象的優點和缺點」,位於:http://msdn.microsoft.com/zh-cn/magazine/ee236638.aspx – casperOne 2009-08-19 15:35:32