Создать таблицу для сопоставления IP-адреса с типом INET в PostgreSQL?

У меня есть сопоставление, которое сопоставляет IPAddressполе объекта с базой данных.

В PostgreSQL есть тип inet, подходящий для этого, но в моем случае он использует вместо этого тип byteaпри генерации схемы.

Есть ли способ заставить результирующий сгенерированный тип схемы для этого столбца быть inetфактически в БД?

У меня также есть это требование к составному идентификатору (, который требуется)

CompositeId()
.KeyProperty(x => x.Date, "for_date")
.KeyProperty(x => x.Address, var => var.ColumnName("ipaddress"));

Вы не можете использовать CustomSqlType в ключевой части свойства.

Я также пытался использовать

public class IPAddressPropertyConvention : IPropertyConvention
{
    public void Apply(IPropertyInstance instance)
    {
        if (instance.Property.PropertyType == typeof(IPAddress))
            instance.CustomSqlType("inet");
    }
}

Но я получаю исключение из-за недопустимого соглашения о свойствах

12
задан Valentin Kuzub 3 May 2012 в 07:50
поделиться