При работе с элементами управления Windows Form и LINQ есть «лучший вариант» для того, как ваш Buisiness Layer возвращает данные?Элементы управления Windows Form и 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
Когда вы говорите DataSet, который включает DataTables, исправьте? Кроме того, есть ли у вас хороший пример DTO? Я буду Google, но если у вас есть хороший вариант, я предпочитаю рекомендации ... –
@Refracted Paladin: Википедия имеет хорошую запись на объектах передачи данных здесь: http://en.wikipedia.org/wiki/Data_transfer_object и есть хорошая статью в выпуске MSDN за август 2009 года «За и против объектов передачи данных», расположенную по адресу: http://msdn.microsoft.com/en-us/magazine/ee236638.aspx – casperOne