Я использую ActiveRecord от CastleProject с MySQL в своем решении. Я хотел бы получить последнюю вставку ID, так что я сделал что-то вроде этого:Как получить последний идентификатор вставки в Castle ActiveRecord?
[ActiveRecord]
public class UserDb : ActiveRecordBase<UserDb>
{
[PrimaryKey]
public uint Id { get; set; }
[Property]
public int OtherStuff { get; set; }
}
public void Blablabla()
{
UserDb user = new UserDb();
user.OtherStuff = 123;
user.CreateAndFlush();
Console.WriteLine(user.Id);
}
Иногда он выдает правильный идентификатор, но иногда он просто выводит 0. ли я пропустить что-нибудь?
Примечание. Причина, по которой я это сделал, состоит в том, что у нас было несколько серверов, подключенных к одной базе данных одновременно, и мне нужен уникальный генератор идентификаторов. Для уникального я имею в виду уникальное среди этих серверов. Если есть другие решения для поддержки уникального генератора идентификаторов среди нескольких серверов, я буду очень благодарен.
Спасибо, ребята!
Я попытался использовать 'user.Refresh()', однако я все равно получаю 0 для 'user.Id' иногда. –