Свойство EntityKey может быть установлено только LINQ2Entities - PullRequest
0 голосов
/ 19 марта 2012

У меня странная проблема: я не могу получить объект из БД, а затем подключить его снова. Я написал такой код для других проектов, но по какой-то странной причине он выдает следующую ошибку в этом приложении:

System.InvalidOperationException: свойство EntityKey можно установить, только если текущее значение свойства равно нулю.

вот мой код:

        Entities.Customer customer;
        using (var context = new XXEntities())
        {
            IQueryable<Entities.Customer> query = from a in context.Customers select a;
                query = query.Where(c => c.CODE == "003046");
            customer = query.ToList()[0];
        }


        using (var context = new XXEntities())
        {
            context.Customers.AddObject(customer);
            context.SaveChanges();
        }

1 Ответ

0 голосов
/ 19 марта 2012

во 2-м блоке,

    using (var context = new XXEntities())
    {
      //context.Customers.AddObject(customer);
        context.Customers.Attach(customer);  
        context.SaveChanges();
    }

EntitySet.Add() означает добавление нового объекта. Вы хотите добавить существующий объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...