我的实体:
UserProfile: - 这里没什么重要的。
SupportTicket: - 用户配置文件
SupportTicketMessage: - 用户配置文件 - SupportTicket
我的问题是,每当我尝试插入 SupportTicketMessage 时,我都会在数据库中插入一个额外的 UserProfile(重复),即使我已经附加了相应的 SupportTicket。
这是我的代码(在 SupportTicket 类中,所以这意味着 SupportTicket):
public void AddReply(UserProfile user)
{
SupportTicketMessage msg = new SupportTicketMessage(user, this);
using (DBContext db = new DBContext())
{
db.SupportTickets.Attach(msg.Ticket);
db.SupportTicketMessages.Add(msg);
db.SaveChanges();
}
}
每当我运行它时,SupportTicketMessage 都会被很好地插入,但它会插入一个重复的 UserProfile,即使已经有一个匹配的。
这里有什么问题?
顺便说一句,这是 supportticketmessage 构造函数:
public SupportTicketMessage(UserProfile author, SupportTicket ticket)
{
Author = author;
Ticket = ticket;
Date = DateTime.Now;
}