2011-08-18 49 views
0

这是奇怪的事情...也许我有一个金发碧眼的时刻或东西,但为什么不这项工作......EF简单的插入

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(); 

它返回一个SQL异常是说我能” t插入一个重复的主键值...显然,我不是试图插入主键值,而是做一个新的,而不是!

哎呀...

+3

什么是EmailReceived'的'的PK,是PK自动递增值? – Eranga

回答

0

原来我是一个蠢蛋,忘了设置“身份Specifiction”关于在DB PK场这么EF不知道它是自动填充了从生成的ID SQL Server。

没关系......

了那里到底:)