Строка префикса для ВСЕХ сгенерированных имен таблиц - FluentNHibernate - PullRequest
3 голосов
/ 17 июня 2011

Есть ли простой способ префиксировать все сгенерированные имена таблиц строкой?

Конвенция

Table.Is(x => "Prefix" + x.EntityType.Name)

работает только для таблиц сущностей (не работает для таблиц объединения или подкласса)

Кажется, я не могу найти простой способ, чтобы каждая отдельная таблица, которую создает nhibernate, имела префикс с определенной строкой без предварительного определения всех случаев, которые могли бы создать таблицу, и указания правила для случая. Еа!

1 Ответ

1 голос
/ 20 июня 2011

для этого вам нужно реализовать IHasManyToManyConvention и IJoinedSubclassConvention см.

public class SubclassConvention : IJoinedSubclassConvention, IHasManyToManyConvention
{
    public void Apply(IJoinedSubclassInstance instance)
    {
        instance.Table("Prefix" + instance.Type.Name);
    }

    public void Apply(IManyToManyCollectionInstance instance)
    {
        instance.Table("Prefix" + instance.TableName);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...