EF Простая вставка - PullRequest
       13

EF Простая вставка

0 голосов
/ 18 августа 2011

Это самая странная вещь ... может быть, у меня момент блондинки или что-то в этом роде, но почему это не работает ...

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, говорящее, что я не могу вставить дублирующее значение первичного ключа ... ясно, что я вообще не пытаюсь вставить значение первичного ключа, а вместо этого создаю новое значение !!!

GRRR ...

1 Ответ

0 голосов
/ 18 августа 2011

Оказывается, я тупица и забыл установить «Специфичность идентификации» в поле PK в БД, поэтому EF не знал, что он автоматически заполняется сгенерированным идентификатором из SQL Server.

Не бери в голову ...

В итоге получилось:)

...