我写了一个类Patient,它应该是我关系的对象表示。然后我编写了一个上下文类,它继承自DbContext并包含DbSet. Patients好的。现在,我如何对 Entity 说这DbSet应该与TBL_PATIENTS数据库中的表一起使用?我在哪里配置它?
(好吧,正如您所见,我对 .NET 和 Entity 非常陌生,因此感谢您提供任何帮助)
			
			1570 次
		
1 回答
            1        
        
		
您需要在您的班级中创建EntityTypeConfiguration<Patient>并初始化它。Context
例如
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);
    }
}
于 2013-09-19T08:53:18.993   回答