在我的软件中,我制作了一些实体:
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; }
}
为了显示这是一个datagridview,我有这个表达式:
var results =db.producten.Where(c => c is type1|| c is type2).ToList();
dataGridView1.DataSource = results;
问题是,EF 将额外数据作为 type1 的 extradata 和 type2 的 extradata1 放入表中。当我想将我的额外数据添加到我的 gridview 时
this.dataGridView1.Columns["extradata"].Visible = true;
我得到一个 nullreferenceException,因为 type2 不包含这样的列。如何在我的 datagridview 中显示列,而不会过多地更改实体?