私のソフトウェアでは、いくつかのエンティティを作成しました:
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をtype1のextradata、type2のextradata1としてテーブルに入れることです。グリッドビューにエクストラデータを追加したいとき
this.dataGridView1.Columns["extradata"].Visible = true;
type2 にはそのような列が含まれていないため、nullreferenceException が発生します。エンティティをあまり変更せずに、データグリッドビューに列を表示するにはどうすればよいですか?