EF Core 2.0 关系(空漫画)
EF Core 2.0 Relation(Null Comig)
我正在使用 asp.net 核心 2.0 和 EF 核心 2.0。
我有 3 个 class 用于 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);
这是我为table设计的(不包括更多细节。)
var person=blabla.......
var personPacket = _userPacketRepository.GetMany(a => a.OwnerPersonId == person.PersonId);
double totalPacket = 0;
foreach (var packet in personPacket)
{
totalPacket += packet.Packet.Point;
}
我可以 select 数据包,但 packet.Packet 数据包为空。任何人都可以帮助我吗?
尝试包含它
_userPacketRepository.GetMany(a => a.OwnerPersonId == person.PersonId)
.Include(x => x.Packet);
您可以从 Github wiki 阅读更多关于 EF 及其路线图和更改的信息,这非常有用
https://github.com/aspnet/EntityFrameworkCore/wiki
我正在使用 asp.net 核心 2.0 和 EF 核心 2.0。
我有 3 个 class 用于 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);
这是我为table设计的(不包括更多细节。) var person=blabla.......
var personPacket = _userPacketRepository.GetMany(a => a.OwnerPersonId == person.PersonId);
double totalPacket = 0;
foreach (var packet in personPacket)
{
totalPacket += packet.Packet.Point;
}
我可以 select 数据包,但 packet.Packet 数据包为空。任何人都可以帮助我吗?
尝试包含它
_userPacketRepository.GetMany(a => a.OwnerPersonId == person.PersonId)
.Include(x => x.Packet);
您可以从 Github wiki 阅读更多关于 EF 及其路线图和更改的信息,这非常有用 https://github.com/aspnet/EntityFrameworkCore/wiki