Paw*_*uda 5 c# asp.net asp.net-mvc asp.net-mvc-4
我有2个模型,想要创建一个外键关系.基本上每个音符应该分配给用户.
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string Email { get; set; }
}
[Table("UserNotes")]
public class UserNotes
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int NoteId { get; set; }
[ForeignKey("UserProfile")]
public virtual int UserId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public string Added { get; set; }
public DateTime? Edited { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当我尝试添加新用户注释时,我得到: 类型为"note.DO.Models.UserNotes"的属性"UserId"上的ForeignKeyAttribute无效.在依赖类型"note.DO.Models.UserNotes"上找不到导航属性"UserProfile".Name值应该是有效的导航属性名称.
我尝试了很多组合,包括在类似问题中找到的组合,但没有一组合作.
Réd*_*tar 16
试试这个 :
public virtual int UserId { get; set; }
[ForeignKey("UserId")]
public virtual UserProfile User { get; set; }
Run Code Online (Sandbox Code Playgroud)
这样,您可以将外键属性与导航属性配对.
编辑:你也可以像这样写:
[ForeignKey("UserProfile")]
public virtual int UserId { get; set; }
public virtual UserProfile UserProfile { get; set; }
Run Code Online (Sandbox Code Playgroud)
这两个片段给出了相同的结果.您的错误消息显示缺少"UserProfile"属性,您只需添加它.
| 归档时间: |
|
| 查看次数: |
21984 次 |
| 最近记录: |