Почему мои LINQ INSERTS не сохраняются в SQL Server CE 3.5?

Я использую LINQ to SQL с Sql Server Compact Edition 3.5 и VS2008.

У меня есть очень простая таблица (Tokens) с первичным ключом uniqueidentifier (TokenID) и двумя другими обнуляемыми полями (UsedBy и UsedOn). Я пытаюсь использовать LINQ для вставки новых строк в таблицу, но по какой-то причине они не сохраняются.

Вот мой код:

        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());
        }

Если я раскомментирую db.GetChangeSet (); Я вижу ожидающую вставку, и когда я повторяю и печатаю их в отладочную вдову, число токенов увеличивается с каждым разом. Но если я запрашиваю таблицу в VS (через Show Table Data), она пуста? Просмотр таких данных также «сбрасывает» токены, возвращенные LINQ, в их исходное состояние.

Я почти уверен, что совершаю простую ошибку, но не вижу ее. Есть идеи?

Ответы на вопрос(2)

Ваш ответ на вопрос