c# - 实体框架返回的列表为空
问题描述
我有这两个类,Field
并且Field2
是一对多的关系。
当我尝试获取Field
时,列表返回带有 id 和名称的记录,这是正确的。但试图阅读Field2
fromField
总是空的。
可能是什么原因?我已经尝试了一切。我可以在数据库等中看到 FK。
public class Field : IEntityBase
{
public int Id { get; set; }
public string Name { get; set; }
[InverseProperty("Field")]
public virtual ICollection<Field2> Field2 { get; set; }
}
public class Field2: IEntityBase
{
public int Id { get; set; }
public int FieldId { get; set; }
[ForeignKey(nameof(FieldId))]
public virtual Field Field { get; set; }
}
解决方案
您需要使用 Include() 方法。看下面的例子,
using (var context = new MyContext())
{
var list = context.Field
.Include(f => f.Field2)
.ToList();
foreach (var field in list)
{
Console.WriteLine("Field Name: {0}", field.Name);
foreach (var field2 in field.Field2)
{
Console.WriteLine("\tField 2 ID: {0}", field.Id);
}
}
}
推荐阅读
- php - 在 EventSubscriber Symfony 3.4 上发送响应
- layout - AAPT 错误不匹配的标签到目前为止已经尝试了所有方法做错了什么
- excel - 如何使用 VBA 提取基于日期和主题的电子邮件数据?
- mysql - 无法在 travel_agency 架构中添加多列火车
- python - 当现有列'B'的连续5个单元格值是python中数据框的空白时,将标志分配给新列'A'
- search - 谁能告诉我,我们如何在搜索输入框 Coveo 的焦点上创建流行的搜索建议
- postgresql - ActiveRecord::StatementInvalid (PG::UndefinedTable: 错误: 缺少表“song_categories”的 FROM 子句条目
- python - 具有作业配置以写入结果的 BigQuery Python 客户端产生权限被拒绝错误
- create-react-app - 使用 CRACO 在 CRA 中提供修改后的asset-manifest.json 不起作用
- postgresql - Postgres 解释分析在 pgAdmin 中花费的负时间