Entity framework 清除链接到实体框架的DataGridView数据源

Entity framework 清除链接到实体框架的DataGridView数据源,entity-framework,linq,datagridview,linq-to-entities,Entity Framework,Linq,Datagridview,Linq To Entities,我是实体框架的新手,我有一个连接到实体框架的DataGridView,如下所示 dgvDebit.DataSource = (from daily in accountingEntities.DailyAccounts join voucherdetails in accountingEntities.VoucherDetails on daily.DailyId equals voucherdetails.DailyId

我是实体框架的新手,我有一个连接到实体框架的
DataGridView
,如下所示

dgvDebit.DataSource = (from daily in accountingEntities.DailyAccounts
                       join voucherdetails in accountingEntities.VoucherDetails on daily.DailyId equals voucherdetails.DailyId
                       where voucherdetails.VoucherId == keyvalue
                       group voucherdetails by daily.DailyName into dgroup
                       select new
                              {
                                  DailyName = dgroup.Key,
                                  SumOfDebit = dgroup.Sum(s => s.Debit)
                              }).ToList();

我的问题是:我想清除
DataGridView
datasource,但我所做的每一件事都失败了-请在此提供帮助?

好的,所以您想绑定到您拥有的类型的空列表

步骤1:为查询结果返回类型定义.NET类型:

public class ResultDTO
{
    public string DailyName { get; set; }
    public decimal SumOfDebit { get; set; }
}
步骤2:将“正常”查询更改为:

dgvDebit.DataSource = (from daily in accountingEntities.DailyAccounts
                       join voucherdetails in accountingEntities.VoucherDetails on daily.DailyId equals voucherdetails.DailyId
                       where voucherdetails.VoucherId == keyvalue
                       group voucherdetails by daily.DailyName into dgroup
                       select new ResultDTO
                              {
                                  DailyName = dgroup.Key,
                                  SumOfDebit = dgroup.Sum(s => s.Debit)
                              }).ToList();
步骤3:如果要“清除”DataGridView,但保留列,现在可以使用:

dgvDebit.DataSource = new List<ResultDTO>();
dgvDebit.DataSource=new List();

好的,因此您希望绑定到现有类型的空列表

步骤1:为查询结果返回类型定义.NET类型:

public class ResultDTO
{
    public string DailyName { get; set; }
    public decimal SumOfDebit { get; set; }
}
步骤2:将“正常”查询更改为:

dgvDebit.DataSource = (from daily in accountingEntities.DailyAccounts
                       join voucherdetails in accountingEntities.VoucherDetails on daily.DailyId equals voucherdetails.DailyId
                       where voucherdetails.VoucherId == keyvalue
                       group voucherdetails by daily.DailyName into dgroup
                       select new ResultDTO
                              {
                                  DailyName = dgroup.Key,
                                  SumOfDebit = dgroup.Sum(s => s.Debit)
                              }).ToList();
步骤3:如果要“清除”DataGridView,但保留列,现在可以使用:

dgvDebit.DataSource = new List<ResultDTO>();
dgvDebit.DataSource=new List();

dgvDebit.DataSource=null应清除数据源-是否有此错误?(如果是这样:您会得到什么错误??)dgvDebit.DataSource=null;它的工作,但它的清晰列太多,所以当我再次加载datagridview时,我松散的网格格式
dgvDebit.DataSource=null应清除数据源-是否有此错误?(如果是这样:您会得到什么错误??)dgvDebit.DataSource=null;它的工作,但它的清晰列太多,所以当我再次加载datagridview时,我非常感谢您为我的answer@HusseinAl-不客气-很高兴我能帮上忙!祝你度过愉快的一天谢谢你把时间花在我的工作上answer@HusseinAl-不客气-很高兴我能帮上忙!祝你有美好的一天