当我从数据库 Web Api .Net 中获取数据时的空列表
Posted
技术标签:
【中文标题】当我从数据库 Web Api .Net 中获取数据时的空列表【英文标题】:Empty List when i fetch data from database Web Api .Net 【发布时间】:2014-05-16 23:44:19 【问题描述】:我正在使用带有存储库、Code First、Code First 迁移和 Web Api 的实体框架。我有 Town 和 City 类,它们看起来是这样的:
public class Town
public int TownId get; set;
public int CityId get; set;
public string Name get; set;
public class City
public int CityId get; set;
public List<Town> Towns get; set;
public string Name get; set;
public City()
Towns = new List<Town>();
这是我的 DbContext:
public class EFDbContext : DbContext
public DbSet<City> Cities get; set;
public DbSet<Town> Towns get; set;
这是我的种子方法[Configuration.cs(迁移文件夹)]
context.Cities.AddOrUpdate(s => s.Name,
new City
Name = "Pinar del Río",
Towns = new List<Town>()
new Town() Name = "Consolación del Sur",
new Town() Name = "Guane",
new Town() Name = "La Palma",
new Town() Name = "Los Palacios",
new Town() Name = "Mantua",
new Town() Name = "Minas de Matahambre",
new Town() Name = "Pinar del Río",
new Town() Name = "San Juan y Martínez",
new Town() Name = "San Luis",
new Town() Name = "Sandino",
new Town() Name = "Viñales"
)
这是城镇表数据(数据库)
表城市数据(数据库)
这是我的仓库
public class EFLocalizationRepository:ILocalizationRepository
private EFDbContext context = new EFDbContext();
public IQueryable<City> Cities get return context.Cities;
public List<Town> GetTowns(int cityId)
var c = context.Cities.Find(cityId); //here ok
var tws = context.Cities.Find(cityId).Towns; // but here is empty
return tws;
当我获取城镇时,我得到一个空列表,为什么?
【问题讨论】:
你试过 var tws = c.Towns;我想不出你为什么得到一个空列表,但既然你已经得到了你想要的城市,为什么你不尝试得到它的城镇? 是的,我做到了。但都是一样的 如果你在变量c中设置了断点,然后开始debug,F10,右键c然后QuickWatch。你看到那里的城镇列表了吗? 是的,我做到了,但它是空的 那看起来很奇怪!既然你得到了正确的城市,但不是它的城镇?当你在这里说好的时,你的意思是 cityId=1 你得到了我们在你的桌子上显示的城市。对吗? 【参考方案1】:你试过了吗
var tws = context.Cities.Find(cityId).Towns.toList();
【讨论】:
这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 那么您可以检查是否启用了延迟加载。 我做了 Configuration.LazyLoadingEnabled = false;在我的 Context 课程中,什么都没有!以上是关于当我从数据库 Web Api .Net 中获取数据时的空列表的主要内容,如果未能解决你的问题,请参考以下文章
当我从 Flutter 中的 API 获取数据时出现问题。请帮我获取数据并显示它。我这样的数据[关闭]
来自 web api 的 asp.net web 表单下拉列表
Json Formatting.Indented 使用 Web Api 控制器、ASP.NET MVC
在回流中,我如何从 asp.net web api 获取数据