asp mvc получает последний идентификатор вставки из savechanges () - PullRequest
10 голосов
/ 24 февраля 2011

Я сначала использую код Poco.как получить последнюю вставку после savechanges ()?

спасибо

Ответы [ 5 ]

15 голосов
/ 28 марта 2012

Я решаю эту проблему следующим образом:

с помощью Max () - вы можете получить последний идентификатор из таблицы

db.Products.Add(product);
db.SaveChanges();
int lastProductId = db.Products.Max(item => item.ProductId);

ProductId is Key () и приращение

11 голосов
/ 07 июня 2012
register = db.registers.CreateObject();
register.id = 0;
register.customer = h.customer;
register.employee = employee_created;
register.created = DateTime.Now;
db.registers.AddObject(register);
db.SaveChanges();

//You can get the ID here
int last_insert_id = register.id;
8 голосов
/ 24 февраля 2011

После того, как вы сохранили объект в контексте (SaveChanges ()).Свойство ID в самом poco должно быть установлено платформой сущностей.

Если вы действительно хотите больше информации об измененных сущностях, вы можете искать их в ObjectStateManager, предоставленном ObjectContext Entity Framework.

3 голосов
/ 28 августа 2017
var newProduct = db.Product.Add(model);
db.SaveChanges();
var productId = model.Id;

Он автоматически добавляет его к объекту, который вы сохраняете

0 голосов
/ 28 июня 2018

Обратитесь к следующему примеру -

db.Hotels.Add(hotels);
                db.SaveChanges();
                var id = hotels.Id;

Это сработало для меня.

Источник - https://dzone.com/articles/how-return-id-field-after

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