2008-11-22 2 views
3

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

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

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

ответ

6

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

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

+0

Спасибо, что я просто отработал это сам! – 2008-11-22 16:46:13

Смежные вопросы