【发布时间】:2013-08-01 13:49:46
【问题描述】:
我的实体:
用户个人资料: - 这里没什么重要的。
SupportTicket: - 用户资料
SupportTicketMessage: - 用户资料 - 支持票
我的问题是,每当我尝试插入 SupportTicketMessage 时,我都会在数据库中插入一个额外的 UserProfile(重复),即使我已经附加了相应的 SupportTicket。
这是我的代码(在 SupportTicket 类中,所以 this 表示 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;
}
【问题讨论】:
-
谁能帮帮我?真是烦死我了!
-
看看这个问题,他们解决了这个问题并提供了三个解决方案:stackoverflow.com/questions/5416323/…
-
这是另一个可能有帮助的:stackoverflow.com/questions/7884887/…
-
你能显示
SupportTicketMessage构造函数的代码吗? -
@Slauma 当然我已将其添加到帖子中。不过这真的很基本。
标签: c# database visual-studio entity-framework linq-to-entities