Entity Framework 6, Шаблон репозитория, Единица работы, Сохранить и получить последний идентификатор, а затем обновить запись

Это сообщение об ошибке, когда я пытался выбрать из представления.

Проблема заключалась в том, что в последнее время были получены новые новые строки (в столбце SubscriberId), и он не был обновлен в EDMX (Сначала база данных EF).

Столбец должен был иметь тип Nullable для работы.

var dealer = Context.Dealers.Where (x => x.dealerCode == dealerCode ) .FirstOrDefault ();

Перед обновлением просмотров:

public int SubscriberId { get; set; }

После обновления обновления:

public Nullable<int> SubscriberId { get; set; }

Удалено и добавлено представление в EDMX .

Надеюсь, это поможет кому-то.

-1
задан Ros 21 February 2019 в 13:49
поделиться

2 ответа

Поскольку вы не поделились своими методами UoW и Repository, мы не можем знать, что именно происходит в вашем коде. Тем не менее, я предоставил необходимый код, который делает то, что вам нужно, без учета репозитория и UoW. Просто проверьте, выполняет ли ваш код следующее:

var db = new AppDbContext();

// inserting new organization
Organisation newOrganisation = new Organisation();
newOrganisation.Name = viewModelToCreate.Name;
newOrganisation.Logo = "To Change";
db.Organisation.Add(newOrganisation);
db.SaveChanges();

// updating the inserted organization
string fileName = ”New FileName”;
newOrganisation.Logo = fileName;
db.SaveChanges();
0
ответ дан rad 21 February 2019 в 13:49
поделиться

Вам нужно два вызова вашего метода [UOW.Save]. Позвони первому, как ты. Когда вы это сделаете, объект, который вы сохранили, будет обновлен с его идентификатором, который был назначен в базе данных. Затем добавьте код, который берет этот Id и добавляет ваше имя файла, как вам нужно. Если это не сработает, значит, что-то не так с вашим UOW или репозиторием, что мешает его правильной работе. Кроме того, UOW и Repository являются «шаблонами», а не реализациями, поэтому мы не можем ожидать, как будет выглядеть этот код и как он работает, вам нужно быть более конкретным в отношении того, что именно вы делаете, если вам нужен вопрос ответил

0
ответ дан Robert Perry 21 February 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: