gpt4 book ai didi

c# - NHibernate:为查询参数显式设置数据类型和长度

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:09 26 4
gpt4 key购买 nike

我正在通过代码和 sql server 2012 使用 NHibernate 映射。我还在 session 工厂中使用 Sql2008ClientDriver 作为驱动程序。我一直在试图弄清楚如何将确切的 sql 类型和长度映射到表示表的 C# 对象。我遇到的问题是围绕生成的 sql 中指定的数据类型,特别是字符串。

例如:

public virtual string SomeProperty { get; set; }

这在生成查询时转换为 nvarchar(4000) 参数,但此列在数据库中是 char(6)。是否可以在映射中指定一些方式?

我相信会有性能损失,因为 sql server 在执行查询之前会进行转换。

我已经试过了(但它不起作用):http://notherdev.blogspot.com.au/2012/01/mapping-by-code-property.html

有什么想法吗?

最佳答案

这是一个会导致有效的 char(6) 字段的冗长映射。

Property(x => x.SomeProperty,
pm =>
{
pm.Type(NHibernateUtil.AnsiString);
pm.Length(6);
pm.Column(cm => cm.SqlType("char(6)"));
});

开箱即用的支持可能会更好。

关于c# - NHibernate:为查询参数显式设置数据类型和长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15605078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com