0
私はasp.netコア2.0とEFコア2.0を使用しています。EFコア2.0関係(Null Comig)
DbSetには3つのクラスがあります。
public class Person
{
[Key]
public int PersonId { get; set; }
public string Name { get; set; }
}
public class Packet
{
[Key]
public int PacketId { get; set; }
public string Name{get;set;}
public int Point{get;set;}
}
public class UserPacket
{
[Key]
public int UserPacketId { get; set; }
public int ParentPersonId { get; set; }
public Person Parent { get; set; }
public int PacketId { get; set; }
public Packet Packet { get; set; }
}
そして
modelBuilder.Entity<UserPacket>().HasOne<Person>(a => a.Parent).WithMany().HasForeignKey(a=>a.ParentPersonId);
modelBuilder.Entity<UserPacket>().HasOne<Person>(a => a.Owner).WithMany().HasForeignKey(a=>a.OwnerPersonId);
modelBuilder.Entity<UserPacket>().HasOne<Packet>(a => a.Packet).WithMany().HasForeignKey(b=>b.PacketId);
これは、テーブルのための私の設計である(詳細が含まれていません。) するvar人= blabla .....
var personPacket = _userPacketRepository.GetMany(a => a.OwnerPersonId == person.PersonId);
double totalPacket = 0;
foreach (var packet in personPacket)
{
totalPacket += packet.Packet.Point;
}
私はパケットを選択することができますが、 packet.Packetはnullになります。誰も私を助けることができますか?それを含める
は '_userPacketRepository.GetMany(=それを含めるようにしてください非常に便利です> a.OwnerPersonId == person.PersonId)。インクルード(x => x.Packet); ' –
@AhmedRaghebこれはありがたいです。これはEFコアにとって将来の必要なのか、必要なのでしょうか?以前は私が使用していなかったのでインクルードするが、私はProperty(Asp.net mvc 5とEF 6)を取ることができる –
私は答えとしてそれを追加します。 –