が動作していない、私はClassDefinitionEntityクラスを持っています:Entity Frameworkの6.0一つは、私が最初のコードと1つの側では、多くの関係</p> <p>に1を実装するための流暢APIとEntity Frameworkのを使用しようと
public class ClassDefinitionEntity{
public string LocalClassIsin { get; set; }
public ICollection<PcfPublishingDefinitionEntity> PublishingDefinitions { get; set; }
public ClassDefinitionEntity()
{
PublishingDefinitions = new List<PcfPublishingDefinitionEntity>();
}
}
そして、多くの側のPcfPublishingDefinitionEntityクラス:
public class PcfPublishingDefinitionEntity
{
public int ClassId { get; set; }
public ClassDefinitionEntity ClassDefinition { get; set;}
public PcfFormatEnum Format { get; set; }
public PcfPublishingChannelEnum Channel { get; set; }
}
OnModelCreatingのコードは、このようなものですので、私の列名は、エンティティの規則に従わない:
protected override void OnModelCreating(DbModelBuilder modelBuilder){
...
modelBuilder.Entity<PcfPublishingDefinitionEntity()
.ToTable("IFM_PCF_PUBLISHING_DEFINITION");
modelBuilder.Entity<PcfPublishingDefinitionEntity>()
.HasKey(e => new { e.ClassId, e.Channel, e.Format });
modelBuilder.Entity<PcfPublishingDefinitionEntity>()
.Property(e => e.Channel)
.HasColumnName("PUBLICATION_CHANNEL");
modelBuilder.Entity<PcfPublishingDefinitionEntity>()
.Property(e => e.Format)
.HasColumnName("PUBLICATION_FORMAT");
modelBuilder.Entity<PcfPublishingDefinitionEntity>()
.Property(e => e.ClassId)
.HasColumnName("CLASS_ID");
modelBuilder.Entity<PcfPublishingDefinitionEntity>()
.HasRequired(pd => pd.ClassDefinition)
.WithMany(cd => cd.PublishingDefinitions)
.HasForeignKey(pd => pd.ClassId);
...
}
しかし、それは働いていません。 PublishingDefinitionsコレクションは常に空です。
私は間違っていますか?
は、私はそれがOKに見えると言うでしょう。 あなたのコレクションは、他の理由で空である場合があります:万が一、遅延ロードを無効にしていますか? –
クエリを取得する 'ClassDefinitionEntity'に' Include(e => e.PublishingDefinitions) 'を追加しようとしましたか?または、遅延ロード動作をしたい場合は、コレクションプロパティを 'virtual'にしてください。 –
@AkosNagy:更新のために、LazyLoadingEnabledプロパティのOnModelCreatingをチェックしました。それは設定されていません。私は熱心な読み込みをしたい。 – webpat