0

我有一个使用实体框架设置的 .sdf 数据库。我的代码如下。但是,当我尝试更新第一条记录时,它使用 console.writeline() 正确显示了这一点,但是当我在 Visual Studio 中“显示表数据”时,我可以看到原始值仍然存在,它没有更新:

static void Main(string[] args)
    {
        Database2Entities context = new Database2Entities();

        DbSet<Product> products = context.Products;

        foreach (var product in products)
        {
            Console.WriteLine(product.name);
        }

        Console.WriteLine("---");

        Product prod = products.First();

        prod.name = "Faux lion fur hat";

        context.SaveChanges();

        products = context.Products;

        foreach (var product in products)
        {
            Console.WriteLine(product.name);
        }

        Console.Read();
    }
/*Output:
gloves
scarves
coates
lionFurHat
boots
---
Faux lion fur hat //This doesn't show in the diagram.
scarves
coates
lionFurHat
boots*/
4

1 回答 1

0

我不确定这是否是真正的问题,但可能是旧的 context.Products;再次被重新分配给相同的产品尝试使用不同的变量,例如

var productsUpdated=context.Products;

你也可以尝试刷新它

http://msdn.microsoft.com/en-us/library/bb503718.aspx

context.Refresh(RefreshMode.StoreWins, Products);
于 2013-09-05T02:16:11.877 回答