12

IPAddressオブジェクト フィールドをデータベースにマップするマッピングを取得しました。

inetこれに適した PostgreSQL の型がありますが、私の場合は、byteaスキーマを生成するときに代わりに型を使用します。

inetこの列の結果として生成されたスキーマ タイプを実際に DBに強制する方法はありますか?

また、たまたま複合IDにこの要件があります(Whicgが必要です)

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 に答える