「ヒーロー」と呼ばれるテーブルを更新しようとしています。使用しDataContext
ています。コードは次のようになります。-
//linq to sql table (automatic generated)
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Hero")]
public partial class Hero : INotifyPropertyChanging, INotifyPropertyChanged
{
//fields methods etc..
}
そして、私自身の部分的なクラスのヒーローがいます...
public partial class Hero : IHero {
//my fields and methods etc...
public void Save() {
using(GameDBDataContext db = new GameDBDataContext()) {
db.Heros.Attach(this, true);
db.SubmitChanges();
}
}
}
しかし、これを投げています:-
System.InvalidOperationException: An entity can only be attached as modified without original state if it declares a version member or does not have an update check policy.
この問題の解決策は何ですか?
編集:私はこれを試しました:-
public void Save() {
using(GameDBDataContext db = new GameDBDataContext()) {
db.Heros.Attach(this, db.Heros.SingleOrDefault(x => x.id == EntityID));
}
}
そしてそれは投げます:-System.NotSupportedException: An attempt has been made to Attach or Add an entity that is not new, perhaps having been loaded from another DataContext. This is not supported.