【发布时间】:2018-04-30 06:28:35
【问题描述】:
我正在使用 asp.net core 2.0 和 EF core 2.0。
我有 3 个 DbSet 课程。
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 person=blabla.....
var personPacket = _userPacketRepository.GetMany(a => a.OwnerPersonId == person.PersonId);
double totalPacket = 0;
foreach (var packet in personPacket)
{
totalPacket += packet.Packet.Point;
}
我可以选择数据包,但对于数据包。数据包为空。有人可以帮帮我吗?
【问题讨论】:
-
尝试包含它
_userPacketRepository.GetMany(a => a.OwnerPersonId == person.PersonId).Include(x=>x.Packet); -
@AhmedRagheb 已运行 谢谢。这对 EF Core 来说是未来还是必要的?因为在我没有使用 Include 之前,我可以使用 Property(Asp.net mvc 5 和 EF 6)
-
我会把它添加为答案,请验证它,因为其他人可以使用它。
标签: entity-framework asp.net-core asp.net-core-mvc entity-framework-core asp.net-core-2.0