似乎我的 linq 有一个小问题,我有一个组数据合同,我有一个单独的消息数据合同。消息可以是组的一部分。但是,当我更新消息记录时,它不会在我列出组信息时反映出来,该组的消息仍然相同。但是当我直接列出消息时会反映更新吗?
这是我将消息添加到组的方式:
//lists for reference:
List<Group> Groups = new List<Group>();
List<Message> messages = new List<Message>();
//not sure the below method is correct for adding a message to a group
public void AddMessagetoGroup(string group, string messageID, string message)
{
var result = Groups.Where(n => String.Equals(n.GroupName, group)).FirstOrDefault();
var result1 = messages.Where(n => String.Equals(n.MessageID, messageID)).FirstOrDefault();
if (result != null)
{
result.GroupMessages.Add(new Message() { MessageID = messageID, GroupMessage = message });
}
if (result1 != null)
{
result1.MessageGroup.Add(new Group() { GroupName = group });
}
}
真的不明白发生了什么,如果我将消息添加到组中,我对消息所做的任何更改都应该得到反映。我唯一能想到的是它添加一个已经存在的消息的新实例,这意味着我的更新方法只是复制消息,但是这个新复制的记录甚至保存在哪里。如果很难修复,我该如何更新已复制到/添加到组的消息(便宜的解决方法)?