У меня есть первичный ключ spe_manuscript_num
в таблице SPE_COMMON_DATA
, и это FK для других таблиц:
Но. NET Базовая модель генерируется Scaffold-DbContext
следующим образом:
public partial class SpeCommonData
{
public string SpeManuscriptNum { get; set; }
..
..
public virtual ICollection<SpeAttachment> SpeAttachment { get; set; }
public virtual ICollection<SpeMiscData> SpeMiscData { get; set; }
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<SpeCommonData>(entity =>
{
....
//nothing about FK tables
}
modelBuilder.Entity<SpeMiscData>(entity =>
{
entity.ToTable("SPE_MISC_DATA");
entity.Property(e => e.Id)
.HasColumnName("id")
.HasColumnType("numeric(38, 0)")
.ValueGeneratedOnAdd();
entity.Property(e => e.SpeManuscriptNum)
.IsRequired()
.HasColumnName("spe_manuscript_num")
.HasMaxLength(32)
.IsUnicode(false);
....
entity.HasOne(d => d.SpeManuscriptNumNavigation)
.WithMany(p => p.SpeMiscData)
.HasForeignKey(d => d.SpeManuscriptNum)
.HasConstraintName("FK__SPE_MISC___spe_m__02084FDA");
});
modelBuilder.Entity<SpeAttachment>(entity =>
{
entity.HasKey(e => e.AttachmentId)
.HasName("PK__SPE_ATTA__B74DF4E2D1989600");
entity.ToTable("SPE_ATTACHMENT");
entity.Property(e => e.AttachmentId).HasColumnName("attachment_id");
...
entity.Property(e => e.SpeManuscriptNum)
.HasColumnName("spe_manuscript_num")
.HasMaxLength(32)
.IsUnicode(false);
entity.HasOne(d => d.SpeManuscriptNumNavigation)
.WithMany(p => p.SpeAttachment)
.HasForeignKey(d => d.SpeManuscriptNum)
.HasConstraintName("FK__SPE_ATTAC__spe_m__3EA749C6");
});
У меня вопрос, когда я запрашиваю таблицу SPE_COMMON_DATA
Я не могу получить данные других таблиц на основе FK
Я не знаю ничего определенного в modelBuilder.Entity<SpeCommonData>
?
Как получить данные других таблиц также при запросе SPE_COMMON_DATA
, например модель ORM?