我写了一个类Patient
,它应该是我关系的对象表示。然后我编写了一个继承自DbContext
并且包含DbSet
的公共属性Patients
的上下文类。行。现在,我如何向Entity说这个DbSet
应该与数据库中的TBL_PATIENTS
表一起使用?我在哪里配置?
(好吧,你可以看到我对.NET和Entity很新,所以感谢任何帮助)
答案 0 :(得分:1)
您需要创建EntityTypeConfiguration<Patient>
并在Context
课程中对其进行初始化。
e.g。
Context
:
public class MyContext : DbContext
{
static MyContext()
{
Database.SetInitializer<MyContext>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new PatientMap());
}
}
Map
:
public class PatientMap: EntityTypeConfiguration<Patient>
{
public PatientMap()
{
//table
this.ToTable("TBL_PATIENTS", "dbo");
//PK
this.HasKey(t => t.id);
//Columns
this.Property(t => t.forenames)
.HasColumnName("FIRSTNAMES")
.IsRequired()
.HasMaxLength(50);
// Relationships
this.HasRequired(t => t.Ward)
.WithMany(t => t.Patients)
.HasForeignKey(d => d.Ward_id);
}
}