12

IPAddress我得到了一个将对象字段映射到数据库的映射。

PostgreSQL 中有inet适合此的类型,但在我的情况下,它bytea在生成模式时使用类型。

有没有办法强制为该列生成的模式类型inet实际上在数据库中?

我也碰巧对复合 ID 有这个要求(需要哪个)

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");
    }
}

但我得到关于无效属性约定的例外

4

1 回答 1

4
Map(x => x.IPAddress)
    .CustomSqlType("inet")
    .CustomType<IPAddressToInetUserType>();  // maybe needed, you should check
于 2012-05-03T06:48:16.210 回答