【问题标题】:What should I return from LINQ To SQL for DataGridViews对于 DataGridViews,我应该从 LINQ To SQL 返回什么
【发布时间】:2010-12-01 02:29:12
【问题描述】:

我有一个使用多个 DataGridViews 的 WinForm 应用程序。 DGV 曾经绑定到旧 SProc 的 DAL 中的 DataTables。当我将 SProcs 转换为 LINQ 时,我最初使用的是套件,但我想知道这是否是“最佳”方式。

这是我正在做的一个示例。

        internal static CmoDataContext context = new CmoDataContext();

        public static DataTable GetAllMembers(Guid workerID)
    {
        DataTable dataTable;
        using (context)
        {
            var AllEnrollees = from enrollment in context.tblCMOEnrollments
                               where enrollment.CMOSocialWorkerID == workerID || enrollment.CMONurseID == workerID
                               select
                                   new
                                       {
                                           enrollment.ADRCReferralID,
                                           enrollment.ClientID,
                                           enrollment.CMONurseID,
                                           enrollment.CMOSocialWorkerID,
                                           enrollment.DisenrollmentDate,
                                           enrollment.DisenrollmentReasonID,
                                           enrollment.EconomicSupportWorkerID,
                                           enrollment.EnrollmentDate
                                       };

            dataTable = AllEnrollees.CopyLinqToDataTable();
        }
        return dataTable;
    }

CopyLinqToDataTable() 是一个自定义类,显然它将IEnumerable<T> 转换为DataTable。

这样做有什么问题吗?我应该使用 IQueryable 吗?

谢谢

【问题讨论】:

    标签: c# winforms linq-to-sql data-binding datagridview


    【解决方案1】:

    我认为按照您的方式进行操作没有任何问题。从 IEnumerable 列表转换为 DataTable。如果您正在开发一个框架,您应该能够在不影响任何调用它的方法的情况下更改内部工作。

    您可以编写 Linq 查询以返回数据表而不是列表,但我认为这不会为您节省处理时间。

    只是为了让您知道 DataGrid 可以绑定到列表,所以如果您想努力将其绑定到列表,我会这样做。但是,如果您没有时间或超出范围,我认为等到稍后再做没有错。

    【讨论】:

    • DataGridView 不会通过 IListSource 接口直接绑定到 Linq to SQL 图吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    相关资源
    最近更新 更多