我在这张表上没有主键。我在某处读到这很重要。
出于某种原因,一个简单的
public bool UpdateServiceRequest(RequestedServiceAction action) {
DataContext db = new DataContext();
var service = db.tbl1.ToList().ElementAt(0)
service.requestedAction = action.RequestedAction;
service.requestedBy = action.RequestedBy;
service.requestedDate = action.RequestedDate;
service.SubmitChanges();
return true;
}
不起作用。请求的 Action、By 和 Date 永远不会写入数据库。进一步检查,我注意到 tbl1 的 isReadOnly 属性设置为 true。所以我db.ObjectTrackingEnabled = false;
在上下文创建后尝试设置,但 isReadOnly 仍然设置为 true。
DataContext 可能需要一个主键来跟踪“Element(0)”?
编辑:没有仔细阅读 MSDN:http: //msdn.microsoft.com/en-us/library/bb339901.aspx