数据库字段,枚举

数据库字段,枚举,第1张

这个要放点代码。但是这种方式没有必要,其次就放50分,实在少点,回头你看我的回复

是否值50分?

----------------------

第一:如果代码类似如下

columns[int(TC_User.id)]

columns[int(TC_User.Name)]

columns[int(TC_User.Sex)]

columns[int(TC_User.Address)]

如果从持久实体直接获取,虽然有点效率,但是你可以试验一下如下查询:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='T_CRD'

以上T_CRD 是表名,你看到有一列是ORDINAL_POSITION:

这个是按照数据库设计表的自然序排列,之后你就看到,只要在设计视图中换换位置就改变了这个值。

本身在DBA优化里有一项就是数据类型同项归类提速,结果代码过于拘泥,让DBA根本不能实施这项工作。这是一方面:

--------------------------------------------------

第二:其次就是使用反射来获悉枚举列名。你可以自己试验一下:还不如最原始的if else快,性能差个几百倍。

--------------------------------------------------

第三:即使元数据析构table,也是类似如下方式,如下是linq上下文生成列的方式,使用的是特性描述,别看原始,这确是大智慧。

[Column(Storage="_RpNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]

public string RpNo

{

get

{

return this._RpNo

}

set

{

if ((this._RpNo != value))

{

this.OnRpNoChanging(value)

this.SendPropertyChanging()

this._RpNo = value

this.SendPropertyChanged("RpNo")

this.OnRpNoChanged()

}

}

}

---------------------

第四:如果你们领导都同意用枚举来映射表,你也没必要修改,顺水推舟吧!

出错你在摆平,也让你出名一把!你自己先提前想好方案!

利用反射(Reflection),通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9626603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存