C# Database2Entities.SaveChanges()不工作
我使用实体框架设置了一个.sdf数据库。我的代码如下。但是,当我尝试更新第一条记录时,它使用console.writeline()正确地显示了这一点,但是当我在visual studio中“显示表数据”时,我仍然可以看到原始值,它没有更新:C# Database2Entities.SaveChanges()不工作,c#,C#,我使用实体框架设置了一个.sdf数据库。我的代码如下。但是,当我尝试更新第一条记录时,它使用console.writeline()正确地显示了这一点,但是当我在visual studio中“显示表数据”时,我仍然可以看到原始值,它没有更新: static void Main(string[] args) { Database2Entities context = new Database2Entities(); DbSet<Product>
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*/
static void Main(字符串[]args)
{
Database2Entities上下文=新Database2Entities();
DbSet products=context.products;
foreach(产品中的var产品)
{
Console.WriteLine(产品名称);
}
Console.WriteLine(“--”);
Product prod=products.First();
prod.name=“人造狮子皮帽子”;
SaveChanges();
产品=上下文。产品;
foreach(产品中的var产品)
{
Console.WriteLine(产品名称);
}
Console.Read();
}
/*输出:
手套
围巾
科茨
狮子帽
靴子
---
人造狮子皮帽子//图中未显示。
围巾
科茨
狮子帽
靴子*/
我不确定这是否是真正的问题,但可能是旧的上下文;正在重新分配给相同的产品,请尝试使用不同的变量,如
var productsUpdated=context.Products;
你也可以尝试刷新它
但是,对于Database2实体,该方法不存在。您仍然必须清除现金。显然,这是一个现金问题。您可以尝试再次启动上下文
context.Refresh(RefreshMode.StoreWins, Products);