实体框架尝试检索不存在的列

gre*_*ala 8 entity-framework asp.net-mvc-3

在此输入图像描述

我正在尝试从数据库中检索VideoCollection项,但是获取{"Invalid column name 'User_Id'."}- 当我设置断点时,我可以看到EF正在尝试选择User_Id列,但它不存在于Cs对象或数据库模式中.(它确实存在于另一个表中,但这无关紧要).反正有没有调试为什么会发生这种情况?

tva*_*son 11

你有一个User类引用了VideoCollection吗?如果是这样,您可能需要明确定义两者之间的关系.事实上,看起来EF似乎推断VideoCollection应该包含User_Id定义关系的外键.

  • @ st3你需要将表重命名为User_VideoCollections或覆盖`OnModelCreating`并通过`PurchasedCollections`表显式建立连接.EF(代码优先)约定期望您具有直接FK关系或使用实体名称的连接表.如果偏离它,则需要告诉它如何建立连接.类似于`builder.Entity <User>().HasMany(u => u.Collections).WithRequired().ToTable("PurchasedCollections");` (2认同)