У меня есть строго типизированный класс, свойство которого украшено атрибутом [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» «Индекс» и автоматически генерировать его, в то же время сохраняя возможность настраиваемого отображения и, желательно, чтобы строго типизированный класс оставался неизменным. разница.)