2011-08-18 2 views
0

Ceci est quelque chose d'étrange ... peut-être que je vais avoir un moment blond ou quelque chose, mais pourquoi ça ne marche pas ...EF insert simple

FLMCommsEntities dal = new FLMCommsEntities(); 
foreach (Email email in mail) 
{ 
    dal.EmailReceiveds.AddObject(new EmailReceived 
    { 
     FromAddress = email.From, 
     ToAddress = email.To, 
     EmailSubject = email.Subject, 
     EmailBodyHtml = email.BodyHtml, 
     EmailBodyPlain = email.BodyPlain, 
     ReceivedOn = (DateTime)email.Date, 
     AttachmentPath = email.AttachmentPath, 
     EmailSize = email.Size, 
     CreatedDate = DateTime.Now, 
     DownloadComplete = true, 
     ServerEmailID = email.ServerId 
    }); 
} 
// ask dal to save the new mail batch locally 
dal.SaveChanges(); 

Il renvoie une exception sql disant que je peux » t insérez une valeur de clé primaire en double ... de toute évidence, je n'essaie pas d'insérer une valeur de clé primaire mais d'en créer une nouvelle à la place !!!

GRRR ...

+3

Quel est le PK de 'EmailReceived' et est la valeur d'incrément automatique PK? – Eranga

Répondre

0

je suis sur Transforme un crétin et oublié de mettre « Identity Specifiction » sur le champ de PK dans le DB si EF ne savait pas qu'il était automatiquement renseigné avec un ID généré à partir le serveur SQL.

never mind ...

Nous sommes arrivés là à la fin :)