在上下文中删除行后刷新服务器资源管理器中的数据

时间:2014-08-11 16:34:21

标签: c# ado.net ado.net-entity-data-model

我有本地数据库的项目:

enter image description here

表格中的首个初始值:

Id, Name
1,  aa
2,  bb
3,  cc

现在我通过ADO.NET Enityt数据模型进行连接,命名“Database1Entities”,看看:

public partial class Database1Entities : DbContext
{
    public Database1Entities()
        : base("name=Database1Entities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

所有人都可以阅读此文件:

var context = new Database1Entities();
var products = context.Products;

products.ToList().ForEach(p=> Console.WriteLine(p.Id + " " + p.Name));

返回初始值,但是当我首先删除(1,aa)时:

        var removed_prod = products.First();
        context.Products.Remove(removed_prod);
        context.SaveChanges();

并提供重复查询:

products.ToList().ForEach(p=> Console.WriteLine(p.Id + " " + p.Name));

然后结果如下:

2,bb
3,cc

现在一切都好,当我再次调试时 - 仅使用代码:

 var context = new Database1Entities();
 var products = context.Products;
 products.ToList().ForEach(p=> Console.WriteLine(p.Id + " " + p.Name))

然后输出相同:

2,bb
3,cc

但是当我想在Database1.sdf -> Tables-> Products -> (PM) Show Table Data中查看结果时,我无法理解 - 为什么它不刷新并且是3行的初始值。我刷新了所有文件,连接,REBUILD项目 - 不是结果:(。这是在这个视图中获取真实数据的任何方式吗? 它看起来: enter image description here

1 个答案:

答案 0 :(得分:1)

检查 Web.Config 中的连接字符串

确保数据源与您正在查看的服务器相同。

 <add name="DataContext" connectionString="Data Source=myserver.com;Initial Catalog=MyDataBase;Persist Security Info=True;User ID=username;Password=password"  providerName="System.Data.SqlClient" />