Я использую Linq to SQL для написания нескольких модульных тестов. Иногда у меня есть код что-то вроде этого:Linq to SQL dataContext проблема времени жизни
var products = dataContext.Products;
Assert.That(1, dataContext.ExecuteQuery<int>("select count(*) from product").First()); //this works
Assert.That(1, products.Count()); //this works
dataContext.spCalculateMoreProducts();
Assert.That(2, dataContext.ExecuteQuery<int>("select count(*) from product").First()); //this works
Assert.That(2, products.Count()); // this fails, saying that got 1 instead of 2
spCalculateMoreProducts является хранимой процедурой, которая вставляет больше продуктов за пределами Linq для SQL. Проблема заключается в том, что dataContext.Products никогда не обновляется. Я понимаю, что именно так работает Linq to SQL. Я думаю, что это нормально в целом, но я хотел бы как-то заставить обновить, чтобы я мог написать свои модульные тесты, как описано выше. Я не могу создать новый datacontext, потому что все модульные тесты выполняются в одной транзакции, которая возвращается в конце. Есть идеи?
Благодаря
Марк, вам повезло? Мне тоже нужно смешивать в одном файле ExecuteCommand (sql) массовое обновление/вставляет/удаляет все в том же DataContext. – PeteShack