【发布时间】:2014-11-30 02:04:58
【问题描述】:
我对 Entity Framework 和代码优先方法还很陌生,但我被困住了。对不起,如果这是一个愚蠢的问题。
我在这里发现了一些看起来相同的问题,但我得到了一个错误,然后是其他人得到的错误,如果可能的话,我很乐意在不需要添加其他参数的情况下解决它。
所以基本上,我的 ApplicationUser(从身份加载)看起来像这样:
public class ApplicationUser : IdentityUser
{
public virtual Province Provincie { get; set; }
[ForeignKey("From")]
public virtual ICollection<Message> SentMessages { get; set; }
[ForeignKey("To")]
public virtual ICollection<Message> ReceivedMessages { get; set; }
}
我有一个看起来像这样的消息类:
public class Message
{
[Key]
public int ID { get; set; }
public virtual ApplicationUser From { get; set; }
public virtual ApplicationUser To { get; set; }
public String MessageContent { get; set; }
public DateTime Date { get; set; }
}
现在,当我尝试添加迁移时,我收到以下错误:
类型“EF_CF_Basics.Models.ApplicationUser”的属性“ReceivedMessages”上的 ForeignKeyAttribute 无效。在依赖类型“EF_CF_Basics.Models.Message”上找不到外键名称“To”。 Name 值应该是一个逗号分隔的外键属性名称列表。
实际上,Visual Studio 告诉我它在 Message 中找不到 To,但它确实存在。
【问题讨论】:
标签: c# entity-framework-6 asp.net-identity