Отображение LiteDB автоматически сгенерированному ключу без имени "Id" - PullRequest
0 голосов
/ 11 марта 2020

У меня есть строго типизированный класс, свойство которого украшено атрибутом [BsonId]. Я регистрирую сериализатор и десериализатор для строго типизированного класса и реализую ILiteCollection для переноса коллекции LiteDB.

В строго типизированном классе у меня есть:

[BsonId]
public int Index { get; set; }

И:

[BsonCtorAttribute]
public "T Constructor" code that takes an Index value

Когда я запускаю Insert () с коллекцией IEnumerable, где Index = 0, Поле _id генерируется в коллекции и сохраняется в LiteDB как «_id», но «Index» остается 0. Я попытался добавить:

BsonMapper.Global.Entity<T>().Id( n => n.Index );

с тем же результатом. Как мне сопоставить сгенерированное поле идентичности в такой настройке? (Просто хочу вызвать «_id» «Индекс» и автоматически генерировать его, в то же время сохраняя возможность настраиваемого отображения и, желательно, чтобы строго типизированный класс оставался неизменным. разница.)

...