Dlaczego moje LINS INSERTS nie są zachowywane w SQL Server CE 3.5?
Używam LINQ do SQL z Sql Server Compact Edition 3.5 i VS2008.
Mam bardzo prostą tabelę (Tokeny) z kluczem podstawowym uniqueidentifier (TokenID) i dwiema innymi polami z dopuszczalną wartością (UsedBy i UsedOn). Próbuję użyć LINQ, aby wstawić nowe wiersze do tabeli, ale z jakiegoś powodu nie są one trwałe.
Oto mój kod:
var connectionstring = "Data Source=|DataDirectory|\\MyData.sdf";
MyData db = new MyData(connectionstring) { Log = Console.Out };
Tokens token = new Tokens { TokenID = Guid.NewGuid() };
db.Tokens.InsertOnSubmit(token);
//db.GetChangeSet();
db.SubmitChanges();
var tokens = from t in db.Tokens
select t;
foreach (var t in tokens)
{
Debug.Print(t.TokenID.ToString());
}
Jeśli odkomentuję db.GetChangeSet (); Widzę oczekującą wstawkę, a kiedy iteruję i wypisuję je w wdowieniu debugowania, liczba żetonów rośnie za każdym razem. Ale jeśli sprawdzę tabelę w VS (poprzez Show Data Data), jest ona pusta? Przeglądanie takich danych również „resetuje” tokeny zwracane przez LINQ w ich pierwotnym stanie.
Jestem pewien, że popełniam prosty błąd, ale nie widzę tego. Jakieś pomysły?