将列添加到实体框架数据绑定数据网格视图
本文关键字:数据 数据网 网格 视图 数据绑定 框架 添加 实体 | 更新日期: 2023-09-27 18:24:01
在我的软件中,我制作了一些实体:
public abstract class Product
{
public int ProductId { get; set; }
public string name{ get; set; }
}
public class type1 :Product
{
public int number{ get; set; }
public string extradata{ get; set; }
public bool uitgeleend { get; set; }
}
public class type2 : Product
{
[Display(Name = "Merk en type")]
public string type { get; set; }
public string extradata{ get; set; }
public bool available{ get; set; }
}
为了显示这是一个数据网格视图,我有这样的表达式:
var results =db.producten.Where(c => c is type1|| c is type2).ToList();
dataGridView1.DataSource = results;
问题是,EF将extradata放在表中,作为类型1的extradata,以及类型2的extradata1。当我想通过将我的额外数据添加到我的网格视图中时
this.dataGridView1.Columns["extradata"].Visible = true;
我得到了一个nullreferenceException,因为type2不包含这样的列。如何在数据网格视图中显示该列,而不会对实体进行过多更改?
您可以将DataTable
用于此目的
从列表中创建一个DataTable
,根据需要添加更多列,绑定DataTable
至DataGridView
你完了。
我想你可以试试这个:
不确定只是一点点尝试:
var results =db.producten.Where(c => c is type1|| c is type2).ToList();