Как я настраиваю NHibernate (или Быстрый NHib) для добавления префикса имени таблицы ко всем именам таблиц?

Я не могу вообразить, как это ускорило бы производительность. По-моему, всегда легче прокрутить/вниз, чем слева/справа.

5
задан Mark Rogers 16 October 2017 в 20:44
поделиться

2 ответа

Для быстрой реализации ..

 public class AutoPersistenceModelGenerator : IAutoPersistenceModelGenerator
    {
        public AutoPersistenceModel Generate()
        {
            var mappings = new AutoPersistenceModel();
            mappings.AddEntityAssembly(typeof(User).Assembly).Where(GetAutoMappingFilter);
            mappings.Conventions.Setup(GetConventions());

.....
    private Action<IConventionFinder> GetConventions()
    {
        return c =>
        {
            c.Add<PrimaryKeyConvention>();
            c.Add<ReferenceConvention>();
            c.Add<HasManyConvention>();
            c.Add<TableNameConvention>();

......

       public class TableNameConvention : IClassConvention
        {
            public void Apply(FluentNHibernate.Conventions.Instances.IClassInstance 
instance)
            {
                instance.Table(Inflector.Net.Inflector.Pluralize("Portal_" + 
    instance.EntityType.Name));
                }
            }
2
ответ дан 14 December 2019 в 19:18
поделиться

Вы можете реализовать свою собственную INamingStrategy и указать ее для своей конфигурации:

Configuration config = new Configuration();
config.SetNamingStrategy(new MyTablePrefixStrategy());
3
ответ дан 14 December 2019 в 19:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: