我想用EntityFramework查询两个表,使用主表,这是用于存储辅助数据的第二个表,我希望我可以进行左连接,但我不能这样做,这里是元素:
public class TableA
{
public int Id {get; set;}
public string Value {get;} set
}
public class OptionalDataTableB
{
public int OptionalDataTableBId {get; set;}
public string OtherValue {get; set;}
}
这里是映射类
public class TableAMap: EntityTypeConfiguration<TableA>
{
public TableAMap ()
{
this.HasKey (e => e.Id);
this.Property (e => e.Id)
. IsRequired ()
.HasDatabaseGeneratedOption(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity);
}
}
public class OptionalDataTableBMap: EntityTypeConfiguration<OptionalDataTableB>
{
public OptionalDataTableB ()
{
this.HasKey (e => e.OptionalDataTableBId);
this.Property (e => e.OptionalDataTableBId)
. IsRequired ()
}
}
我想与DbContext建立关系
public class MyDbContext: DbContext
{
protected override void OnModelCreating (DbModelBuilder ModelBuilder)
{
modelBuilder.Configurations.Add (new Mapping.TableAMap());
modelBuilder.Configurations.Add (new Mapping.OptionalDataTableBMap());
}
}
如何配置映射可以生成这种请求? :
select *
from TableA
left join OptionalDataTableB On TableA.Id = OptionalDataTableB.OptionalDataTableBId