2008-11-22 115 views
3

我有一个非常简单的表,我可以愉快地使用LINQ To SQL查询它,但是当我做任何保存/更新时,我的datacontext上的GetChangeSet方法总是空的。LINQ到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并针对不同的上下文提交更改。

调整您的保存方法以使用相同的上下文,一切都应该很好。

+0

谢谢是的,我只是自己工作! – 2008-11-22 16:46:13