در نسخههای جدید زیرساخت DNTFrameworkCore، امکان مشخص کردن چندین فیلد برای تولید کد منحصر به فرد مهیا شده است. برای مثال:
از این پس مقداردهی FieldName اجباری میباشد و موجودیت مورد نظر برای وارد شدن به PreInsertNumberedEntityHook نیاز است واسط INumberedEntity را پیادهسازی کرده باشد؛ این واسط برای برچسب گذاری استفاده شده است.
services.AddEFCore<NumberingDbContext>() .WithTrackingHook<long>() .WithNumberingHook(options => { options[typeof(NumberingTestEntity)] = new[] { new NumberedEntityOption { FieldName = nameof(NumberingTestEntity.Number), Prefix = "Prefix-", Start = 100, IncrementBy = 5 }, new NumberedEntityOption { FieldName = nameof(NumberingTestEntity.NumberBasedOnBranchId), Start = 10, IncrementBy = 10, Fields = new[] {nameof(NumberingTestEntity.BranchId)} }, new NumberedEntityOption { FieldName = nameof(NumberingTestEntity.NumberBasedOnBranchIdDateTime), Fields = new[] { nameof(NumberingTestEntity.BranchId), nameof(NumberingTestEntity.DateTime) } }, new NumberedEntityOption { FieldName = nameof(NumberingTestEntity.NumberBasedOnBranchIdCreatedDateTime), Fields = new[] { nameof(NumberingTestEntity.BranchId), EFCoreShadow.CreatedDateTime } } }; });