2010-12-27 6 views
0

使用方法:VS2008、Sql CE 3.5。SqlCe、linq-to-sql(SqlMetal)のオプティミスティック並行性チェックをオフにするにはどうすればよいですか?

デタッチされたコンテキストからエンティティを保存しようとすると、できません。代わりに各プロパティをマップする必要があります。

Public Sub Save(ByVal user As Users) 
    Dim ctx As New TestDB(connection) 

     Dim q = (From n In ctx.Users Where user.Id = id Select n).Single 
     q.MapData(user) 
     ' ctx.Users.Attach(user, q)    ' Does not work 
     ' ctx.Users.Attach(user, True)   ' Does not work 
    End If 
    ctx.SubmitChanges() 

オプティミスティックな並行性チェックをオフにすると、この問題が回避されることが示されています。 (ここに答えとして:Entity attachment issues in LINQ)。

しかし、どうすればいいですか?何らかの方法でSqlMetalによって生成されたdatacontextクラスを手動で編集する必要がありますか?それとも簡単にできますか?

答えて

0

私はこの属性をエンティティクラスのすべてのプロパティに追加しました。しかし、それが最善の方法かどうかは分かりません。

UpdateCheck:=UpdateCheck.Never 
関連する問題