我有一个非常简单的表,我可以愉快地使用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); }
Daniel M.. 6
问题出在您的EntitiesDataContext方法上.虽然它是静态的,但它会在每次调用时返回一个新的DataContext.所以你在不同的上下文中调用insertonsubmit和submitchanges.
调整您的保存方法以使用相同的上下文,一切都应该很好.
问题出在您的EntitiesDataContext方法上.虽然它是静态的,但它会在每次调用时返回一个新的DataContext.所以你在不同的上下文中调用insertonsubmit和submitchanges.
调整您的保存方法以使用相同的上下文,一切都应该很好.