让我解释一下标题。
我在应用程序中使用实体框架代码优先(测试应用程序)。
出于调试目的TestApp连接到 SQLExpress 数据库(中央数据库服务器)。
为了简单起见,数据库包含一张表“Products”,TestApp 在数据网格中显示数据库中的所有“Products”,并且 TestApp 可以添加/删除“Product”或修改 ProductName。
public class Product {
public int ProductId { get; set; }
public string ProductName { get; set; }
}
public DbSet<Product> Products { get; set; }
例如,我有 3 台安装并运行 TestApp 的电脑(我将它们称为 Client_X)。如果我通过 Client_1 添加新的“产品”,则这在 Client_2 和 Client_3 上的 TestApp 中不直接可见。只有当 Client_2 和 Client_3 再次获取所有数据(手动刷新)时,我才能看到新添加的记录。
我想知道的是:
如何通过 EF Code First 了解数据库的变化?
由于添加或删除了新项目,Client_2 和 Client_3 如何自动更新其数据网格?
我不确定是否要求太多,但一个简单的示例项目或简单的代码来演示这一点将会很有用。
供参考:
我对 EF Code First 还很陌生。
(我正在使用 .NET 4.0 和 EF Code First 4.3.1)
提前致谢。
Scheme:
Client_3<
\
\
\
\
\>
Client_1 <---> [Central Database] <----> Client_2
更新/编辑:
好的,很明显实体框架本身不会在多个客户端之间进行任何同步。
所以我会问另一个问题:我正在考虑以客户端-服务器方式工作: