【发布时间】:2021-02-17 01:29:17
【问题描述】:
我目前在实体“对话”和“消息”之间建立了有效的一对多关系,其中一个对话可以包含多条消息。
这很好用:
public class Conversation
{
public long ID { get; set; }
}
public class Message : IEntity
{
public virtual Conversation Conversation { get; set; }
public long ConversationID { get; set; }
public long ID { get; set; }
}
但是,我正在尝试将导航属性添加到名为“LastMessage”的“对话”类中,它将跟踪创建的最后一条消息记录:
public class Conversation
{
public long ID { get; set; }
public virtual Message LastMessage { get; set; }
public long LastMessageID { get; set; }
}
当我尝试应用上述内容时,我得到了错误
System.InvalidOperationException:子/依赖方不能 确定之间的一对一关系 “Conversation.LastMessage”和“Message.Conversation”。
如何保持“对话”和“消息”之间的一对多关系,但还要在“对话”类中添加导航属性以导航到单个“消息”记录?
【问题讨论】:
标签: asp.net-core entity-framework-core foreign-keys