J'ai un service web qui récupère les commentaires de ma base de données et si pas assez d'avis sont retournés, il va à une source secondaire et les obtient là et les met en cache dans ma base de données. J'ai récemment remarqué qu'il créait des doublons dans ma base de données, même si j'avais des clés primaires pour l'empêcher. Je pensais que peut-être quand j'ai fait la table j'ai fait quelque chose de mal? Voici le SQL créer extrait de table:Pourquoi LINQ to SQL insère-t-il des doublons dans ma table?
create table Review(
ReviewID int IDENTITY,
CacheDate DateTime,
UniqueID nvarchar(50),
Type nvarchar(100),
AverageRating decimal,
TotalReviews decimal,
Rating decimal,
Content nvarchar(max),
Summary varchar(100),
HelpfulVotes int,
TotalVotes int,
ReviewDate nvarchar(100),
ReviewerID nvarchar(100),
ReviewerName nvarchar(100),
ReviewerLocation nvarchar(100),
primary key(ReviewID,UniqueID)
)
J'étagé à travers mon code et quand il arrive à cela à la section catch try insère toujours la ligne, même si elle existe déjà ..
try { db.SubmitChanges(); }
catch (Exception ex) {.....
Est-ce que quelqu'un sait quel pourrait être le problème?
Je suis plutôt nouveau sur SQL Server et j'utilise normalement PK pour tout ce que je veux être unique. Je ne savais pas que vous pouviez mettre des contraintes sur les choses. Merci beaucoup pour votre aide !! –