このテーブルには主キーがありません。私はこれが重要なところをどこかで読んだ。
どういうわけか、単純な
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