Nic*_*ker 6 c# entity-framework
我一直收到以下错误
无法评估表达式.操作不受支持.未知错误:0x80070057
当试图返回父对象及其子对象时.
据我所见,数据库构建,种子并正确定义了所有关系.我建造了一个较小的模型,仅用于测试和显示问题的目的:
父对象:
public class Person
{
[Key]
[Column(Order = 1)]
public int Id { get; set; }
[StringLength(100)]
public string Name { get; set; }
public DateTime DateModified { get; set; }
public DateTime DateCreated { get; set; }
public virtual ICollection<Job> Jobs { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
子对象:
public class Job
{
[Key]
[Column(Order = 1)]
public int Id { get; set; }
[StringLength(100)]
public string Name { get; set; }
public int PersonId { get; set; }
[ForeignKey("PersonId")]
public virtual Person Person { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
返回_context.Person工作并返回具有空作业的人员列表
返回_context.Person.Include(o => o.Jobs)抛出上述错误.
我知道这是简单的东西,只有两个非常简单的表,但我无法看到问题所在,因为我已经无数次地创建了这个模型senario.我正在考虑重建项目和EF依赖项,但更愿意理解这个问题并在可能的情况下修复它.
经过一番努力后,以下问题解决了:
_context 的存储库方法:
public IQueryable<Person> GetPeople()
{
return _context.Person.Include(s => s.Jobs);
}
Run Code Online (Sandbox Code Playgroud)
调用代码只需要一个 ToList() 方法:
var people = _repository.GetPeople().ToList();
Run Code Online (Sandbox Code Playgroud)
people 变量现在包含一个人员对象列表,每个对象都有一个工作对象列表。唷!!
| 归档时间: |
|
| 查看次数: |
3297 次 |
| 最近记录: |