实体框架(ASP.NET MVC)的导航属性问题

用户名

我的数据库结构如下:Categories表,Questions表和Answers表。问题具有类别ID,答案具有答案ID。尝试访问视图中的导航属性“答案”时,出现以下错误:

“在EntityFramework.SqlServer.dll中发生“ System.Data.Entity.Core.EntityCommandExecutionException”,但未在用户代码中处理”,伴随有:

“无效的列名'Question_ID'。”

这是我的班级样子:

public class Category
{
    public int ID { get; set; }
    public string Text { get; set; }
    public string Description { get; set; }
    public virtual List<Question> Questions { get; set; }
}

提出问题:

public class Question
{
    public int ID { get; set; }
    public int CategoryID { get; set; }
    public string Text { get; set; }
    public virtual List<Answer> Answers { get; set; }
    public virtual Category Category { get; set; }
}

并回答:

public class Answer
{
    public int ID { get; set; }
    public int QuestionID { get; set; }
    public string Text { get; set; }
    public int Correct { get; set; }
    public virtual Question Question { get; set; }
}

我的数据库使用完全相同的字段名称,并应用了外键。我在名称上尝试了多种变体,包括将外键更改为“ Question_ID”和“ Category_ID”,但没有运气。我也尝试过这种解决方案:Code First约定混乱,但是没有用。有人知道我要去哪里错吗?

罗伯特·楚姆利

我相信问题出在您的答案课上。试试这个...

public class Answer
{
    public int ID { get; set; }

    public string Text { get; set; }
    public int Correct { get; set; }

    [ForeignKey("Question")]
    public int QuestionID { get; set; }
    public virtual Question Question { get; set; }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ASP.NET vNext MVC和实体框架问题

实体框架和ASP.NET MVC更复杂的模型

结合使用ASP.NET MVC和实体框架

ASP.NET MVC LINQ实体框架递归

ASP.NET MVC处理时区实体框架

ASP.NET MVC 5实体框架-关系

ASP.NET MVC 实体框架 ID 不能为空

使用实体框架ASP.NET MVC登录过程

实体框架中的 System.NotSupportedException (ASP.NET MVC)

ASP.NET MVC 实体框架查询搜索

Asp.Net 核心 MVC 微软实体框架

具有相关实体的ASP.NET MVC 4错误更新实体框架模型

跨上下文和程序集的ASP.NET MVC实体框架连接实体

在实体框架ASP.NET MVC中的LINQ到实体中构造查询

在ASP.Net MVC项目上设置实体框架(代码优先)的问题

StringLength vs MaxLength使用实体框架EF代码优先将ASP.NET MVC属性

ASP.NET MVC5-如何强制实体框架忽略模型中的属性?

在 ASP.NET MVC 5 中使用实体框架代码优先添加涉及引用 ApplicationUser 的实体的迁移问题

实体框架.NET Core问题

使用实体框架在 ASP.NET MVC 中进行 Ajax 分页

ASP .NET - MVC 5 - 实体框架 - 代码优先 - 表单身份验证

在asp net core实体框架mvc中从数据库绑定菜单和子菜单

如何使用 ASP.NET MVC 和实体框架在 C# 中创建注销

Asp.NET MVC 5实体框架中的无效对象名称“ dbo.AspNetUsers”

使用实体框架将数据导入和导出到Excel for ASP.NET MVC

带有实体框架的ASP.NET Core MVC中的索引方法不接受参数

ASP.NET 5 MVC 6中没有实体框架的身份验证和授权

C#:ASP.NET MVC应用程序的实体框架6.2

ASP.NET MVC单元测试项目实体框架错误