2014-03-30 12 views
1

WP8에서 Linq를 사용하여 항목을 업데이트하는 중에 문제가 있습니다. 코드를 실행하면 객체가 앱을 통해 갈 때 잘 업데이트됩니다. 그러나 앱을 종료하자마자 업데이트가 손실됩니다.. LINQ to SQL의 .SubmitChanges()가 작동하지 않습니다.

.SubmitChanges()가 작동하지 않는 것 같습니다. 그 이유는 무엇일까요? 기능 InsertOnSubmit 및 DeleteOnSubmit이 잘 작동

Public Sub AdjustTile(ByVal thisTile As TileObject, ByVal info As Integer) 

     Dim query = From row As TileObject In tileDb.TileTable 
        Where row.id = thisTile.id 
        Select row 

     For Each row As TileObject In query 
       row.ChoosenWide = info 
     Next 

     tileDb.SubmitChanges() 

End sub 

... 좋아

+0

잘못된 dbcontext obj에 대해 코딩 할 수 있습니다. – alsafoo

+0

어쨌든 영구적 인 DataContext를 사용해서는 안됩니다. 확실히 보안 기능을 제공하지 않기 때문에 전화 앱에서 데이터베이스에 액세스해서는 안됩니다. 누구든지 귀하의 DB에 연결하여 변경할 수 있습니다. – usr

+0

@alsafoo : 이것이 사실이라면 InserOnSubmit이 어떻게 작동 할 수 있습니까? 이 응용 프로그램은 사용자가 사용하는 로컬 데이터베이스를 사용합니다. 또한 선택한 스타일 만있는 것과 같은 간단한 설정 만 포함합니다. 같이 새 datacontext를 추가하는 경우 새 TileDataContext ("Data Source = isostore : /Tiles.sdf")로 db를 사용하면 – Misja

답변

0

, 내 초보자의 실수를 알아 냈어.

당신의 도움에 대한 & USR alsafoo http://code.msdn.microsoft.com/wpapps/Local-Database-Sample-57b1614c

감사를 참조

NotifyPropertyChanging ("ChoosenWide")와 NotifyPropertyChanged ("ChoosenWide을") : 알고 보니, 내가 추가하는 것을 잊었다.

Private _ChoosenWide As Integer 
    <Column()> 
    Public Property ChoosenWide() As Integer 
     Get 
      Return _ChoosenWide 
     End Get 
     Set(ByVal value As Integer) 
      If _ChoosenWide <> value Then 
       NotifyPropertyChanging("ChoosenWide") 
       _ChoosenWide = value 
       NotifyPropertyChanged("ChoosenWide") 
      End If 
     End Set 
    End Property