我有以下的情况,我有一个WCF数据服务与User
对象和message
对象和message
对象有两个关系user
,发送器和接收器。WCF数据服务 - 添加的对象与对象相关
当我尝试添加一个新Message
对象相关的用户留下空
Message message = new Message();
message.text = InputText; // string
message.Sender = Sender; // User object
message.Receiver = Receiver; // User object
context.AddToMessages(message);
context.BeginSaveChanges(new AsyncCallback((result) =>
{
// Some code
}));
现在的发送者和接收者将是无效的。当我尝试在这样的BeginSaceChanges
之前设置链接时,我收到错误“InvalidOperationException:上下文当前没有跟踪实体。”
context.AddToMessages(message);
context.AddLink(message, "Sender", message.Sender);
context.AddLink(message, "Receiver", message.Receiver);
context.BeginSaveChanges(new AsyncCallback((result) =>
{
// Some code
}));
如何确保关系正确创建?
您需要发送者和接收者对象添加到上下文第一,呼吁AddLink API之前。此外,由于发件人和收件人是引用属性,因此您需要调用SetLink API而不是AddLink。 – Pratik