具有本地数据库缓存的Linq-to-SQL(dbml)(C#+ VS2010)

时间:2012-04-14 18:20:12

标签: c# visual-studio-2010 linq-to-sql sync

我正在开发一个WPF应用程序,它远程连接MS SQL2008数据库。 应用程序通过Linq-to-SQL与数据库进行通信。非常方便。

但是,由于数据库服务器速度慢,我正在尝试使用本地数据库缓存。

“VS2010>添加项目>本地数据库缓存”向导可能是一个解决方案,但它使用DataSet和SQL Compact(* .sdf)。

我发现Linq-To-SQL无法从SQL COMPACT版本生成类! (当我拖动表格时,弹出错误并说“不支持的数据提供者”)

那么,是否有任何解决方案可以将Linq-to-SQL与本地数据库缓存一起使用?

或是否有使用Linq-to-SQL的数据库同步方法?

2 个答案:

答案 0 :(得分:1)

如果您仍想使用sql compact方式,Lightspeed是一个支持各种数据源的linq-to-sql提供程序。它包括mssql compact。

http://www.mindscapehq.com/products/lightspeed

免费版本对于大多数项目来说已经足够了,只有8个模型/类限制。

之前我已经将它用作MySql和Sql Compact的linq提供程序并且它很棒。

您可以看到它支持的所有内容以及它与其他类似现有系统的比较:

http://www.mindscapehq.com/products/lightspeed/comparing-lightspeed

答案 1 :(得分:0)

本地数据库缓存向导仅支持客户端上的SQL Ce。如果您在客户端有SQL Express / SQL Server,则可以使用Sync Framework。

使用Sync Framework查看以下示例/教程:

Synchronizing SQL Server and SQL Express

Database Sync:SQL Server and SQL Express 2-Tier

如果它提到SQLExpress,那就没关系,代码中引用的SQLSyncProvider应该对SQL Express,SQL Server和SQL Azure起作用