К сожалению, у EF нет ничего очень близкого к генераторам POID, как у NHibernate, хотя до меня доходят слухи, что аналогичные возможности будут включены в следующий выпуск EF. (Что?!? Microsoft заимствует хорошую идею конкурента? Немыслимо!)
Было бы несложно справиться с Lo-частью HiLo самостоятельно, но с Hi-частью было бы сложно, если бы мы не смогли заставить EF сотрудничать. Это потребовало бы от Microsoft рефакторинга частей EF, поэтому, вероятно, никто не пытался это сделать и опубликовать как проект с открытым исходным кодом на github или codeplex.
Между тем, то, что мы использовали для создания записей в автономном режиме и последующей синхронизации, - это глобальный уникальный идентификатор.
var id = Guid.NewGuid();
Затем присваиваем его идентификатору таблицы. Это можно сделать в SaveChanges.
Я знаю, что это не так хорошо, как HiLo, но это так же близко, как мы подошли. У него все еще есть преимущества, заключающиеся в том, что он может работать в автономном режиме и гарантирует действительные и уникальные идентификаторы.
person
Rap
schedule
30.12.2010