c#同步两个表时检查行是否存在

时间:2017-06-15 20:47:41

标签: c# sql-server wcf ado.net synchronization

我正在尝试从Sql Server数据库和MySql数据库同步两个表。我有一个使用ADO.NET的两个数据库模型的应用程序,它提供了一个WCF服务,用于将数据从MySql数据库发送到SqlServer数据库。在服务使用者中,我有以下代码:

  1. 每5秒调用一次代理方法。
  2. 使用异步调用。

    private void proxy_DoWorkCompleted(object sender, DoWorkCompletedEventArgs e)
    {
    
        dbEntities db = new dbEntities(); //local db object
    
        foreach (var item in e.Result)
        {
            if (!db.Table.Any(x => x.someID == item.some_id)) //This line is supposed to check for existing entries 
            {
                db.Table.Add(new Something()
                {
                    ID = item.some_id,
                    Name = item.name,
                    Description = item.description,
                    ....
                });
                db.SaveChanges();
            }
        }
    
    }
    
  3. 我遇到的问题是if语句没有给我我期望的内容,而且我得到了主键违规例外。我究竟做错了什么?

0 个答案:

没有答案