C# NHibernate:为Postgres添加数据库类型
我正在尝试为自定义用户类型注册新的数据库类型,它只允许我使用asp.net数据库类型来关联我创建的自定义用户类型。。例如:C# NHibernate:为Postgres添加数据库类型,c#,postgresql,nhibernate,C#,Postgresql,Nhibernate,我正在尝试为自定义用户类型注册新的数据库类型,它只允许我使用asp.net数据库类型来关联我创建的自定义用户类型。。例如: /// <summary> /// An SQL dialect for PostgreSQL 8.2 and above. /// </summary> /// <remarks> /// PostgreSQL 8.2 supports <c>DROP TABLE IF EXISTS tablename</c&
/// <summary>
/// An SQL dialect for PostgreSQL 8.2 and above.
/// </summary>
/// <remarks>
/// PostgreSQL 8.2 supports <c>DROP TABLE IF EXISTS tablename</c>
/// and <c>DROP SEQUENCE IF EXISTS sequencename</c> syntax.
/// See <see cref="PostgreSQLDialect" /> for more information.
/// </remarks>
public class PostgreSQL82Dialect : PostgreSQL81Dialect
{
public PostgreSQL82Dialect()
{
RegisterColumnType(DbType.Guid, "uuid");
RegisterColumnType(DbType.Object, "uuid[]");
RegisterColumnType(DbType.Object, "integer[]");
RegisterColumnType(DbType.Binary, "jsonb");
}
public override bool SupportsIfExistsBeforeTableName
{
get { return true; }
}
public override string GetDropSequenceString(string sequenceName)
{
return string.Concat("drop sequence if exists ", sequenceName);
}
}
有没有其他方法让NHibernate知道如何将这些列映射到数据库
提前感谢。您需要:
var update = new SchemaUpdate(configuration);
update.Execute(true, true);
<property name="Foo" type="String">
<column name="foo" length="64" not-null="true" sql-type="text"/>
</property>