使用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