LINQ To SQL не сохраняется в базе данных - PullRequest
3 голосов
/ 22 ноября 2008

У меня очень простая таблица, и я могу с удовольствием запросить ее, используя LINQ To SQL, но когда я делаю какие-либо сохранения / обновления, метод GetChangeSet в моем тексте данных всегда пуст.

Мой код очень прост (объединенный код из разных классов):

    public static EntitiesDataContext EntitiesContext
    {
        get { return new EntitiesDataContext("Data Source=ANTSLAPTOP\\sqlexpress;Initial Catalog=nmncouk_d000;Integrated Security=True"); }
    }

    public static void Save(Price price)
    {
        EntitiesContext.Prices.InsertOnSubmit(price);
        EntitiesContext.SubmitChanges();
    }

    [Test]
    public void SavePrice()
    {
        Price price = new Price();
        price.Lower = 1;
        price.Upper = 2;
        price.PricePerDay = 10;
        Price.Save(price);
        Assert.AreNotEqual(price.PriceId, 0);
    }

1 Ответ

6 голосов
/ 22 ноября 2008

Проблема связана с вашим методом EntitiesDataContext. Хотя он статичен, он возвращает новый DataContext при каждом вызове. Таким образом, вы вызываете insertonsubmit и submitchanges в разных контекстах.

Настройте метод сохранения, чтобы использовать тот же контекст, и все должно быть хорошо.

...