사용자 정의 사용자 유형에 대해 새로운 DbTypes를 등록하려고하는데, 내가 만든 사용자 정의 사용자 유형을 연결하기 위해 asp.net DbTypes 만 사용할 수 있습니다 ..Hibernate : Postgres 용 DbTypes 추가
/// <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);
}
}
uuid [], integer [] 및 jsonb를 추가했습니다. 유일한 문제는 스키마 업데이트를 시도 할 때 항상 주어진 dbtype에 대해 등록 된 마지막 열 유형을 얻는 것입니다. 그 문제는 배열이나 얼룩에 대해 지정된 .net 데이터 유형이 없다는 것입니다. 그래서 그들을 위해 객체를 사용해야합니다.
var update = new SchemaUpdate(configuration);
update.Execute(true, true);
NHibernate에이지도하는 방법을 알 수 있도록하는 또 다른 방법이 있나요 : 내가 지금과 같은 스키마 업데이트를 호출 할 때이 경우, 객체의 DbType과가있는 모든 사용자 정의 사용자 유형은 항상 데이터베이스에 정수 배열 될 것입니다 데이터베이스에 대한 열?
미리 감사드립니다.