首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用枚举类型的显示名称对nHibernate中的枚举列进行排序

在nHibernate中,可以使用枚举类型的显示名称对枚举列进行排序。下面是一种实现方法:

  1. 首先,定义一个枚举类型,并为每个枚举值指定一个显示名称。例如:
代码语言:txt
复制
public enum MyEnum
{
    [Display(Name = "Value A")]
    ValueA,
    [Display(Name = "Value B")]
    ValueB,
    [Display(Name = "Value C")]
    ValueC
}
  1. 在数据库中,将枚举列映射为一个整数列。例如,使用nHibernate的映射文件将枚举列映射为一个整数列:
代码语言:txt
复制
<property name="MyEnumColumn" column="my_enum_column" type="MyNamespace.MyEnum, MyAssembly" />
  1. 在查询数据时,可以使用nHibernate的Criteria API或QueryOver API来排序枚举列。例如,使用Criteria API进行排序:
代码语言:txt
复制
var results = session.CreateCriteria<MyEntity>()
    .AddOrder(Order.Asc(Projections.Property("MyEnumColumn")))
    .List<MyEntity>();
  1. 如果需要在前端显示枚举值的显示名称,可以使用反射和属性访问器来获取枚举值的显示名称。例如,定义一个扩展方法来获取枚举值的显示名称:
代码语言:txt
复制
public static string GetDisplayName(this Enum value)
{
    var field = value.GetType().GetField(value.ToString());
    var displayAttribute = field.GetCustomAttribute<DisplayAttribute>();
    return displayAttribute?.Name ?? value.ToString();
}

然后,在前端代码中使用该扩展方法来获取枚举值的显示名称:

代码语言:txt
复制
var myEnumValue = MyEnum.ValueA;
var displayName = myEnumValue.GetDisplayName(); // 返回 "Value A"

这样,就可以使用枚举类型的显示名称对nHibernate中的枚举列进行排序,并在前端显示枚举值的显示名称。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,我无法提供具体的链接。但是,腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。您可以访问腾讯云官方网站,了解更多关于腾讯云的产品和服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何处理PHP代码枚举类型enum?

1088237898-5d9d3a4048150_articlex.png 我们有时使用常量来定义代码一些常量值。它们被用来避免魔法价值。我们可以用一个符号名称替换一些魔法值来赋予它一些意义。...在上面的例子枚举借助于常量,每一个常量值都是一个成员。注意,这样做的话,我们只能在常量包含类型取值。因此,我们在写这些值时候不会有类型提示,不知道详细枚举类型。...每一个枚举元素都有一个默认 __toString(): string实现返回元素名称。 每个枚举元素返回其相反元素。 回顾一下,常量不是枚举枚举不是常量。每个枚举定义一个类型。...如果我们有一些常量价值我们无关紧要,但是与同一群体其他所有人有所不同则是重要,请使用枚举 枚举为代码提供了更多上下文,也可以将某些检查委托给引擎本身。...如果PHP有一个本地枚举支持,这将是非常好。语法更改可以使代码更具可读性。引擎可以为我们执行检查,并执行一些不能从用户区执行规则。 你如何使用枚举,你这个主题有什么想法?请在下方评论。

1.5K30

如何使用Fluent NhibernateAutomapping进行OR Mapping映射

(比如CostCenter中有public virtual long Id{get;set;},对应表COST_CENTER_ID) 对于一关系,使用父方类名作为属性名,表中使用父表主键列名作为对应外键列名...对于多关系,把两个类对应表名进行排序,将小排前面,然后将两个表名连接起来,中间使用“_”分割。...(比如Course和Student是多多关系,那么产生中间表表名为COURSE_STUDENT) 对于枚举,在数据库中使用tinyint也就是一个Byte来存储,枚举在Automapping作为UserType...,需要涉及到指定要进行Discriminate类,还有DiscriminateColumn,然后指定DiscriminateColumn如何Subclass进行Mapping。...,就需要实现IHasManyToManyConvention接口,在这个接口中两个表名进行排序,然后进行连接表示中间表。

1.1K10

你是如何处理 PHP 代码枚举类型 Enum

本文旨在提供一些更好理解什么是枚举,什么时候使用它们以及如何在php中使用它们....我们在某些时候使用了常量来定义代码一些常数值.他们被用来避免 魔法值 .用一个象征性名字代替一些 魔法值 ,我们可以给它一些意义.然后我们在代码引用这个符号名称.因为我们定义了一次并使用了很多次...在上面的例子枚举借助于常量,每一个常量值都是一个成员。注意,这样做的话,我们只能在常量包含类型取值。因此,我们在写这些值时候不会有类型提示,不知道详细枚举类型。...然后,在 enumerate 方法,我们列出将被用来表示它们元素名称。 刚刚我们提到了多态行为,那么为什么我们会使用它呢?...如果我们有一些常量价值我们无关紧要,但是与同一群体其他所有人有所不同则是重要,请使用枚举 枚举为代码提供了更多上下文,也可以将某些检查委托给引擎本身。

1.5K10

使用 Python 波形数组进行排序

在本文中,我们将学习一个 python 程序来波形数组进行排序。 假设我们采用了一个未排序输入数组。我们现在将对波形输入数组进行排序。...− 创建一个函数,通过接受输入数组和数组长度作为参数来波形数组进行排序使用 sort() 函数(按升序/降序列表进行排序)按升序输入数组进行排序。...例 以下程序使用 python 内置 sort() 函数波形输入数组进行排序 − # creating a function to sort the array in waveform by accepting...例 以下程序仅使用一个 for 循环且不带内置函数以波形输入数组进行排序 - # creating a function to sort the array in waveform by accepting...结论 在本文中,我们学习了如何使用两种不同方法给定波形阵列进行排序。与第一种方法相比,O(log N)时间复杂度降低新逻辑是我们用来降低时间复杂度逻辑。

6.8K50

如何Excel二维表所有数值进行排序

在Excel,如果想一个一维数组(只有一行或者一数据)进行排序的话(寻找最大值和最小值),可以直接使用Excel自带数据筛选功能进行排序,但是如果要在二维数组(存在很多行和很多数据表中排序的话...先如今要对下面的表进行排序,并将其按顺序排成一个一维数组 ?...另起一块区域,比如说R,在R起始位置,先寻找该二维数据最大值,MAX(A1:P16),确定后再R1处即会该二维表最大值 然后从R第二个数据开始,附加IF函数 MAX(IF(A1:P300...< R1,A1:P300)),然后在输入完公式后使用Ctrl+shift+Enter进行输入(非常重要) 然后即可使用excel拖拽功能来在R显示排序内容了

10.3K10

如何使用msprobe通过密码喷射和枚举来查找微软预置软件敏感信息

关于msprobe  msprobe是一款针对微软预置软件安全研究工具,该工具可以帮助广大研究人员利用密码喷射和信息枚举技术来寻找微软预置软件隐藏所有资源和敏感信息。...该工具可以使用与目标顶级域名关联常见子域名列表作为检测源,并通过各种方法来尝试识别和发现目标设备微软预置软件有效实例。  ...支持产品  该工具使用了四种不同功能模块,对应是能够扫描、识别和发下你下列微软预置软件产品: Exchange RD Web ADFS Skype企业版  工具安装  该工具基于Python开发,...Find Microsoft Exchange, RD Web, ADFS, and Skype instances Options: --help 显示工具帮助信息和退出 Commands...skype 搜索微软Skype服务器  工具使用样例  使用顶级域名搜索相关ADFS服务器: msprobe adfs acme.com 使用顶级域名配合Verbose模式输出查找RD Web

1.2K20

如何使用RESTler云服务REST API进行模糊测试

RESTler RESTler是目前第一款有状态针对REST API模糊测试工具,该工具可以通过云服务REST API来目标云服务进行自动化模糊测试,并查找目标服务可能存在安全漏洞以及其他威胁攻击面...RESTler从Swagger规范智能地推断请求类型之间生产者-消费者依赖关系。在测试期间,它会检查特定类型漏洞,并从先前服务响应动态地解析服务行为。.../build-restler.py --dest_dir 注意:如果你在源码构建过程收到了Nuget 错误 NU1403的话,请尝试使用下列命令清理缓存...C:\RESTler\restler\Restler.exe compile --api_spec C:\restler-test\swagger.json Test:在已编译RESTler语法快速执行所有的...语法,每个endpoints+methods都执行一次,并使用一组默认checker来查看是否可以快速找到安全漏洞。

4.8K10

MySQL数据类型与优化

5、MySQLBLOB和TEXT进行排序与其他类型是不同:它只对每个最前max_sort_length字节而不是整个字符串做排序。...这招对内存创建大临时表和文件排序,以及在存盘上创建大临时表和文件排序这两种情况都很有帮助。 6、MySQL不能将BLOB和TEXT全部长度字符串进行索引,也不能使用这些索引消除排序。...枚举可以把一些不重复字符串存储成一个预定义集合。MySQL在存储枚举时非常紧凑,会根据列表值数量压缩到一个或两个字节。...MySQL在内部会将每个值在列表位置保存为整数,并且在表.frm文件中保存"数字-字符串"映射关系"查找表"。 2、枚举字段是按照内部存储整数而不是定义字符串进行排序。...4、由于MySQL把每个枚举值都保存为整数,并且必须进行查找才能转换为字符串,所以枚举列有一些开销,通常枚举都比较小,所以开销还可以控制,在特定情况下,把CHAR/VARCHAR枚举进行关联可能会直接比关联

1.5K10

高性能MySQL(第3版)阅读笔记

mysql blob,text排序前面max_sort_length排序,而不是整个字符串排序。 12、enum 类型。...枚举类型将列表值压缩到一个或两个字节,内部保存是整数,并在.frm保存字符串,整数映射关系。枚举类型排序是按内部整数排序,而非字符排序。...枚举,字符串列表是固定,每次添加修改都需要使用alter table。将char,varchar 和枚举类型关联时,会比直接cahr,varchar关联慢。...关联查询排序,mysql有两种处理方式: order by 子句所有来自第一个表,mysql在关联第一个表时候就进行文件排序,explain 可以看到extra 显示using filesort...其他情况,会将结果集放到一个临时表,再临时表进行排序 extra 显示using temporary;using filesort;mysql 5.6之后,如果使用了limit,mysql不再所有数据进行排序

79140

Spread for Windows Forms快速入门(14)---文件操作

通过使用相应代码,你可以将整个控件,某个特定表单,或者某个特定单元格区域中数据保存为几种不同文件类型或者流。类似的,你可以允许用户某几种文件类型进行文件操作。...如果将一个数字或者日期放入Excel单元格但是宽并不足以显示数据,那么Excel就以###显示该单元格。请确定 宽足够以便在导出Excel格式文件显示数据。...表头会被输出为冻结行或者。 ExcelOpenFlags或者ExcelSaveFlags枚举类型文档缓存选项允许用户打开,编辑,以及在不丢失高级文件内容和格式情况下保存文件。...你可以打开整个复合表单文件到Spread控件,也可以指定一个特定表单(通过名称或者数字),并将其打开到一个指定表单。 Spread可以在绑定和未绑定两种模式中使用。...你可以使用 ExcelOpenFlags 枚举类型指定附加打开选项。如果只有导入数据,这个枚举类型允许你决定冻结或者行如何被导入,并决定其他可选方面。

2.7K60

《高性能Mysql》读书笔记之Schema与数据类型优化

MYSQL存储是每个值在列表位置,而不是实际值,实际值存在 .frm 文件中保存"数字 - 字符串"映射关系 枚举按照内部存储整数而不是定义字符串进行排序,所以创建枚举时候得按顺序存放...可以在查询中使用FIELD()显示指定排序顺序,但会导致无法利用索引消除排序 尽量不要用枚举存储整数,容易导致混乱 枚举不适合未来可改变字符串,除非能接受只在列表末尾添加元素 4....谨慎使用BIT类型,大部分应用避免使用类型 SET 在MYSQL内部是一个打包集合表示 改变定义代价很高,需要alter table 和 枚举增长一样一样 二、MySQL Schema...设计陷阱 太多 太多关联 单个查询最好在12个表以内做关联 全能枚举即过度使用枚举 变相枚举即避免滥用SET,考虑使用枚举代替集合 三、范式和反范式 范式优点 范式化更新操作通常比反范式化要快...该操作会通过排序来构建所有索引,包括唯一索引 总结 避免过度设计 避免NULL值 使用小而简单适合数据类型 尽量使用相同数据类型存储相似或相关值,尤其是在关联条件中使用 注意可变长字符串,其在临表和排序时可能导致最大长度分配内存

14930
领券