我希望您能帮助我解决这个问题:
我有一个旧数据库,其中包含两个表:
- Datensatz
- Kampagnendaten
一个Datensatz可以拥有0到多个Kampagnendaten。目前还没有什么特别的,但是:
Datensatz具有以下字段: Id 名称
Kampagnendaten具有以下字段: Id Idds 名称 值
Idds是保存Datensatz的Id的字段,但是在数据库中此字段未定义为外键。
我让EF Core反向工程我的模型,然后修改所创建的DatabaseContext:
Datensatz:
entity.HasMany<KampagnenDaten>(d => d.KampagnenDatenList).WithOne().HasForeignKey(k => k.Idds);
活动数据:
entity.HasOne<Datensatz>().WithMany(d => d.KampagnenDatenList).HasForeignKey(k => k.Idds).HasPrincipalKey(d => d.Id);
我还修改了DatensatzModel:
List<KampagnenDaten> KampagnenDaten { get; set; }
现在当我执行以下命令时:
context.Datensatz.Include(d => d.KampagnenDatenList).FirstOrDefault<Datensatz>(d => d.Id == id);
我收到了一个Datensatz,其中包含一个KampagnenDaten数组,但只包含一个元素。
如何获取Datensatz中的所有KampagnenDaten?(是的,Datensatz在KampagnenDaten表中有11个KampagnenDaten)。
FirstOrDefault
将仅返回 1 条记录。请尝试使用where
子句。 - dim mik