- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为自定义用户类型注册新的 DbType,它只允许我使用 asp.net DbType 来关联我创建的自定义用户类型。例如:
/// <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 注册的最后一个列类型。问题是,没有为数组或 blob 指定 .net 数据类型......所以我必须为它们使用对象。在这种情况下,当我像这样调用架构更新时,任何具有 dbtype 对象的自定义用户类型将始终是数据库中的整数数组:
var update = new SchemaUpdate(configuration);
update.Execute(true, true);
是否有另一种方法让 NHibernate 知道如何将这些列映射到数据库?
提前致谢。
最佳答案
您需要specify the sql-type in the mapping :
<property name="Foo" type="String">
<column name="foo" length="64" not-null="true" sql-type="text"/>
</property>
关于c# - NHibernate:为 Postgres 添加 DbTypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26371570/
我接管了一些 C# 代码。 代码正在使用一些使用参数的 SQL 访问数据库。 所有字符串参数的类型都是 DbType.AnsiString 而不是 DbType.String。 为什么要使用 DbTy
我有一个结构,我想让它更容易填充 public struct DBParameter { public string parameterName; pu
根据MSDN docs ,列类型/元素的 DbType 属性/属性仅用于数据库创建。 然而,今天,当尝试将数据提交到 SQLCE 数据库上的 IMAGE 列时(不确定是否仅在 CE 上),我收到了“数
当我传递空值时,SQL 更新语句出现问题(或者更好的说法是 DbNull 值)到 DbParameter 对象。当我将 DbNull 值传递给 Value 属性时,DbParameter 对象仍然是
[Microsoft.SqlServer.Server.SqlProcedure] public static void MyMethod() { string con
我将参数传递给存储过程: param = CreateInParameter("Result", DbType.Decimal); param.Value = testresults.Result;
首先,我喜欢指定数据类型并且鄙视 AddWithValue 函数。 我正在 .NET 4.0 下构建一个将在用户 PC 上运行的 SqlCeServer 3.5 本地数据库应用程序。 当我创建表时,我
当我尝试执行此查询时: var q = session.QueryOver(); q.Select(Projections.Avg(x => x.AccountBal
有谁知道等同于 SqlDbType.Bit 的 DbType 是什么? 我正在尝试转换 param[0] = new SqlParameter("@Status", SqlDbType.Bit); p
如何最好地将 System.Data.DbType 枚举值转换为相应的(或至少一个可能的相应)System.Type 值? 例如: DbType.StringFixedLength -> System
我正在尝试为自定义用户类型注册新的 DbType,它只允许我使用 asp.net DbType 来关联我创建的自定义用户类型。例如: /// /// An SQL dialect for P
SqlDataReader SqlTypes 和 DbType 类型访问器有什么区别? 什么时候使用哪个更合适? 最佳答案 如果您的代码需要与提供程序无关并针对多个数据库系统工作,则应避免使用 SQL
我需要从 DbParameter.DbType 打印真实的数据库类型名称,但是当我做这样的事情时 DbParameter.DbType.ToString() 我得到了例如 Int32 而不是 int,
所以,我有以下内容:"SELECT * FROM MyTable;" 当我执行以下操作时,我得到了 TableData,这很有用,但仍然有一些未知的东西? //CommandBehavior.KeyI
我正在使用通用 IDbCommand 函数(在非 SqlCommand 辅助方法中)将 SqlCommand.DbType 设置为 DbType.Date,类似于此: var para
我有一个包含 DateTimeOffset 对象的 SQL Server 2008 数据库。根据 this page , SQL Server Compact provides support for
找到System.Data.DbType 的最佳方法是什么?系统命名空间中基类库类型的枚举值? 最佳答案 一种常见的方法是使用类型映射,明确映射所有支持的类型(不同的连接器/提供程序支持不同的类型)。
我在我们的 SQL Server 2016 数据库中有一个表字段( TotalPrice ) numeric(20, 3)数据类型。 我用过 ulong type 作为我的 C# 属性类型。 publ
我在下面的代码中有一个魔数(Magic Number)... Microsoft.Practices.EnterpriseLibrary.Data.Database db = /* code omit
我正在使用带有 DAAB 4.0 框架的 c# 从 MS SQL 2008 数据库中读取列类型为 dbtype.time 的结果。 我的问题是 MSDN 文档说 dbtype.time 应该映射到一个
我是一名优秀的程序员,十分优秀!