And*_*ipe 6 c# asp.net entity-framework foreign-keys
你好我正在开始一个ASP.Net的项目,我正在关注微软的训练营.我试图向我发布的api做一个REST请求,然后我得到了下一个例外:
类型为"PlataformaTest.Models.AnswerModel"的属性"QuestionId"上的ForeignKeyAttribute无效.在依赖类型'PlataformaTest.Models.AnswerModel'上找不到导航属性'OptionModel'.Name值应该是有效的导航属性名称.","exceptionType":"System.InvalidOperationException"
顺便说一下,我没有逐字逐句地遵循训练练习,我改变了一些名字,所以,试图找出从零开始的所有过程.
任何帮助和指导都非常感谢.谢谢.
And*_*ipe 27
好.我已经解决了这个问题.万一有人有同样的问题,这里是问题和答案:
我有我的实体,如:
namespace PlataformaTest.Models
{
public class AnswerModel
{
public int Id { get; set; }
public string UserId { get; set; }
[ForeignKey("OptionModel"), Column(Order = 0)]
public int QuestionId { get; set; }
[ForeignKey("OptionModel"), Column(Order = 1)]
public int OptionId { get; set; }
[JsonIgnore]
public virtual OptionModel OptionModelEx { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
但我发现了那个
ForeignKey("OptionModel")
Run Code Online (Sandbox Code Playgroud)
必须具有"虚拟"变量的相同名称.像这样:
namespace PlataformaTest.Models
{
public class AnswerModel
{
public int Id { get; set; }
public string UserId { get; set; }
[ForeignKey("OptionModel"), Column(Order = 0)]
public int QuestionId { get; set; }
[ForeignKey("OptionModel"), Column(Order = 1)]
public int OptionId { get; set; }
[JsonIgnore]
public virtual OptionModel OptionModel { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我认为它必须有Class的名称,但事实并非如此.它查找要映射实体的外键的对象的名称.
| 归档时间: |
|
| 查看次数: |
8515 次 |
| 最近记录: |