LINQ To SQL不保存到数据库

时间:2008-11-22 16:15:26

标签: c# sql-server sql-server-2005 linq-to-sql

我有一个非常简单的表,我可以愉快地使用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);
    }

1 个答案:

答案 0 :(得分:6)

问题在于您的EntitiesDataContext方法。虽然它是静态的,但它会在每次调用时返回一个新的DataContext。所以你在不同的上下文中调用insertonsubmit和submitchanges。

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