public MergeTableCommandBuilder(DAL masterDB, String clientTableName) { this.ClientTableName = clientTableName; this.MergeTableName = "Merge" + this.ClientTableName; this.AllClientColumns = masterDB.GetTableInfo(clientTableName); this.ClientGUIDKeyField = (from ColumnInfo ci in this.AllClientColumns where ci.Name == this.ClientTableName + "_GUID" select ci).FirstOrDefault(); this.ClientPrimaryKey = (from ColumnInfo ci in this.AllClientColumns where ci.IsPK == true select ci).FirstOrDefault() ?? new ColumnInfo() { Name = "RowID" }; this.HasRowVersion = this.AllClientColumns.Find(x => x.Name == "RowVersion") != null; this.ClientUniqueFieldNames = masterDB.GetTableUniques(clientTableName).ToArray(); InitializeCommonColumns(this.HasGUIDKey, this.HasRowVersion); }