通过Sync Framework进行本地sdf和SQL Server的数据同步

时间:2012-04-07 21:10:30

标签: c# sql-server-2008 windows-phone-7 sql-server-ce microsoft-sync-framework

我有一个Windows phone 7应用程序,它使用本地存储文件(.sdf)来保存数据。 我需要将这些数据与SQL Server数据库同步,以便可以从网站上查看和编辑它们。

我已经检查了Sync Framework中的示例,但我的问题是没有示例使用.sdf文件来同步数据。

Windows Phone上本地数据库的ViewModel也是这样的:

public class ADataContext : DataContext
{
            // Pass the connection string to the base class.
            public ADataContext (string connectionString)
                : base(connectionString)
            { }

            // Specify a table for the lists
            public Table<Lists> Lists;

        }

        [Index(Columns = "ListName", Name = "_listNameUnique", IsUnique = true)]
        [Table]
        public class Lists : INotifyPropertyChanged, INotifyPropertyChanging
        {

            // Define ID: private field, public property, and database column.
            private int _id;

            [Column(DbType = "INT NOT NULL IDENTITY", IsDbGenerated = true, IsPrimaryKey = true)]
            public int Id
            {
                get { return _id; }
                set
                {
                    NotifyPropertyChanging("Id");
                    _id = value;
                    NotifyPropertyChanged("Id");
                }
            }
}

是否有办法使用Sync Framework将此本地数据库(.sdf)与SQL Server数据库中的匹配表同步,还是必须手动执行同步?

如果我必须手动完成这项工作的优化方法?

2 个答案:

答案 0 :(得分:0)

你看过Sync Framework Toolkit了吗?我认为在WM6.5下有2个SDF示例提供程序可以与SQL CE一起使用,并且您可以改进使用WP7。

或者如果您想自己编写代码,请查看此处的方法:Synchronizing Data between the Phone and the Cloud

答案 1 :(得分:0)

据我所知,当前版本的MS Sync Framework不支持手机上的SQL Server CE 4.

所以你现在可能只是自己 - 查看Erik EJ's Everything SQL Server Compact网站 - 他有大量优质材料,代码示例,工具等等。

他还有page specifically dedicated to SQL Server CE on the Windows phone