我一直收到以下错误
无法评估表达式。操作不受支持。未知 错误: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; }
}
子对象:
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; }
}
返回_context.Person
并返回具有空作业的人员列表
返回_context.Person.Include(o => o.Jobs)
会引发上述错误。
我知道这是简单的东西,只有两个非常简单的表,但我无法看到问题出在哪里,因为我已经无数次创建了这个模型senario而没有问题。我正在考虑重建项目和EF依赖项,但更愿意理解这个问题并在可能的情况下修复它。
答案 0 :(得分:1)
经过一番可观的努力,以下问题克服了这个问题:
_context的存储库方法:
def hideBG():
global state
if state == "Hidden":
background_label.pack()
state = "Showing"
elif state == "Showing":
background_label.pack_forget()
state = "Hidden"
window = tkinter.Tk()
background_image=tkinter.PhotoImage(file="BG.png")
background_label = tkinter.Label(window, image=background_image)
hideBttn = tkinter.Button(window, text="Hide Background", command=hideBG)
state = "Showing"
hideBttn.pack()
background_label.pack()
window.mainloop()
调用代码只需要一个ToList()方法:
public IQueryable<Person> GetPeople()
{
return _context.Person.Include(s => s.Jobs);
}
people变量现在包含一个人物对象列表,每个人物对象都包含一个作业对象列表。 Pheeew !!