単一のエンティティクラスを持つ2つのテーブルからデータを取得したいと思います。どのように??
public class HomeViewModel
{
[Key]
[Column("candidate_ID")]
public int candidateID { get; set; }
[Column("first_name")]
public string firstName { get; set; }
[Column("last_name")]
public string lastName { get; set; }
public string emailID { get; set; }
public string mb_country_code { get; set; }
public int mobile_no { get; set; }
}
上記のエンティティクラスは6つのプロパティを保持し、3つのプロパティは1つのテーブル1を表し、3はテーブル2を表します。データベースでは、テーブル1は主キーとしてcandidate_idを保持し、テーブル2は外部キーとしてcandidate_idを保持します。
更新:私がしたことは、DBContextクラスを追加したことです
public class EmployeeMonitoring : DbContext
{
public DbSet<HomeViewModel> homeViewModel { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<HomeViewModel>().Map(m =>
{
m.Properties(a => new { a.candidateID, a.firstName, a.lastName,a.status });
m.ToTable("table1");
}).Map(m =>
{
m.Properties(c => new { c.candidateID,c.emailID, c.mobile_no, c.mb_country_code });
m.ToTable("table2");
});
}
}`
コントローラーアクションで、LinqtoEntityQueryを使用しました
var data = db.homeViewModel.ToList();
ただし、何も返されません。つまり、0カウントです。