【发布时间】:2021-04-18 16:21:44
【问题描述】:
当我使用 Include () 方法时,关系表不会添加到站(列表)中。急切加载和延迟加载都不起作用。关联的站列表始终为零。我使用的是 aspnet core mvc 5.0。缺少任何图书馆吗?它从数据库中提取数据,但不获取任何相关数据。
[HttpGet]
public IActionResult Index(int? SayfaNo)
{
int _sayfaNo = SayfaNo ?? 1;
// Proplem is here. Networks.Stations.Count=0 always
var networks = _context.Networks.Include(x=>x.Stations).ToList();
//.ToPagedList<Network>(_sayfaNo, 9);
if (networks == null)
{
return View(networks);
}
var request = Request;
if (request.Headers!=null)
{
if (request.Headers["X-Requested-With"] == "XMLHttpRequest")
{
return PartialView("~/Views/Home/_BicycleListPartialView.cshtml", networks);
}
}
return View(networks);
}
public class Network:BaseEntity
{
public Network()
{
Stations = new HashSet<Station>();
}
public string NId { get; set; }
public string Name { get; set; }
[ForeignKey("Location")]
public int LocationId { get; set; }
public virtual Location Location { get; set; }
public virtual ICollection<Station> Stations { get; set; }
}
public class Location:BaseEntity
{
public string Country { get; set; }
public string City { get; set; }
public virtual Network Network { get; set; }
}
public class Station:BaseEntity
{
public string SId { get; set; }
public string Name { get; set; }
public int? FreeBikes { get; set; }
public int? EmptySlots { get; set; }
[ForeignKey("Network")]
public int NetworkId { get; set; }
public virtual Network Network { get; set; }
}
public class BaseEntity
{
[Key]
public int Id { get; set; }
}
【问题讨论】:
-
很高兴帮助他人编写代码!请添加简要说明您的代码如何解决最初的问题。谢谢!
标签: entity-framework lazy-evaluation eager-loading empty-list