我有一个非常简单的表,我可以愉快地使用LINQ To SQL查询它,但是当我执行任何保存/更新时,我的datacontext上的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);
}
答案 0 :(得分:6)
问题在于您的EntitiesDataContext方法。虽然它是静态的,但它会在每次调用时返回一个新的DataContext。所以你在不同的上下文中调用insertonsubmit和submitchanges。
调整你的保存方法以使用相同的上下文,一切都应该很好。