将多个DataTable链接到同一个DB表

时间:2013-03-28 11:03:09

标签: c# sqlite datatable synchronize

我正在用C#编写一个应用程序,其中不同计算机上的两个或多个用户在通过网络共享的SQLite数据库中的同一个表中填充了DataTable。我希望所有用户的数据表保持同步,这样,如果用户进行数据库操作(INSERT,UPDATE或DELETE),其他用户的DataTable将保持更新,而无需从数据库重新加载整个表。

最简单的方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以在客户端使用缓存。

这就是这里提出的:How to synchronise/check the data from database to datatable in C#?

您可以使用缓存应用程序块:http://msdn.microsoft.com/en-us/library/ff649093.aspx

,而不是那里提出的ASP.NET缓存

您可以在此SO主题中找到此示例:Microsoft Enterprise Library Caching Application Block not thread safe?

Cache负责检查数据库中每X秒的所有更改,一旦发现更改后的内容,就会从数据库重新加载,您必须在应用程序中更新它。

您可以采用更智能的方式执行此操作,仍然使用缓存。

您在服务器上创建一个接收所有INSERT,UPDATE和DELETE命令的服务,它将它们应用于数据库,然后向所有客户端的缓存发送无效消息,告诉他们更新数据。

这意味着您的客户端在启动时会订阅无效通知服务,因此会在有更改时获得通知。

如果你对这个问题感兴趣,你可以在这里找到一个很好的教程:http://www.codeproject.com/Articles/51409/Exploring-Caching-Using-Caching-Application-Enterp这将有助于完全理解什么是缓存以及它是如何工作的。