您的位置:首页 > 编程语言 > ASP

C#、ASP.NET主键到底怎么写比较好?ID?Id?id?IDs?Ids?ids?欢迎大家指点

2010-10-24 23:31 381 查看
数据库中的每个记录都需要有一个主键来唯一识别,那到底写ID?还是id?还是Id?我也苦恼了很多天,当然可能是由于我的英语水平不高导致的吧,我把用法推荐给大家,也欢迎大家提宝贵的意见。



GetEntity(int id); 这里 id 是局部变量的意思,大家都习惯了局部变量小写字母开始的原则。

BatchDelete(int[] ids); 这里 ids 是一个数组的意思,s表示复数的意思,是数组的意思。



private int id = 0; 这里 id 当了私有变量,临时变量的感觉。

public in Id 这里 Id 当了一个属性,因为属性建议大写字母

{

get

{

return id;

}

set

{

     id = value;

}

}



private int[] ids; 这里 ids 当了私有变量,临时变量的感觉。

public in[] Ids 这里 Ids 当了一个属性,因为属性建议大写字母

{

get

{

return ids;

}

set

{

     ids = value;

}

}



ID、IDs 暂时不建议用,当程序写了很多后,很多人写的都乱了套了,看起来很乱,很杂,还是希望大家都写得很规范一些,有些想法一些,我的建议未必是对的,欢迎大家提出补充意见。







将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。

posted on 2010-06-23 21:53 吉日嘎拉 不仅权通用权限 阅读(2954) 评论(45) 编辑 收藏



评论

1879373

#1楼  回复 引用 查看  数据库字段:USER_ID
对象属性: UserId

2010-06-23 22:43 | 滔滔踏浪

#2楼[楼主]  回复 引用 查看 

@滔滔踏浪
ORALCE 数据库用 USER_ID 比较好,
sqlserver UserId 也无妨,不过还是你用 USER_ID 规范一些。

2010-06-23 23:00 | 吉日嘎拉 不仅权限管理

#3楼  回复 引用 查看 

根据 .Net 设计规范 建议,应使用 : ID

ids这样的名字是不应当使用的,因为ID不是集合、变量或复数,在实体设计中,仅仅一个单一的标识而已。

如果是批量操作,参数名建议使用 idArray 或 idList.
2010-06-24 00:34 | Zealic

#4楼  回复 引用 查看 

@Zealic
这个…….NET设计规范好像不是这么说的,Pascal的写法是Id,Camel的写法是id,上面明确指出不应该写为ID了……,也就是说公共成员、类型及命名空间名称用Pascal写法写为Id,参数和成员写为Camel写法为id。
我再仔细查查。
2010-06-24 01:02 | 冷冷

#5楼  回复 引用 查看 

design guideline上说id还是ID要看你的团队,微软不给出任何建议。

说白了你的团队认为哪个好就用哪个只要统一就可以了。
2010-06-24 01:21 | xiao_p

#6楼  回复 引用 查看 

结合表:
Product:PID
News:NID
Item:IID

2010-06-24 02:06 | 邀月

#7楼  回复 引用 查看 

我记得您不是转投csdn了吗?说实话,我觉得这帖子不是太有意义,不要为了写帖子而写帖子。
2010-06-24 08:27 | Tony Qu

#8楼  回复 引用 查看 

WebProduct:ProductID
WebArticle:ArticleID
2010-06-24 08:29 | Astar

#9楼  回复 引用 查看 

@滔滔踏浪
冗余
2010-06-24 08:35 | tandly

#10楼  回复 引用 查看 

ID 或者 Id 或者 实体名+ ID 如 EmployeeID

统一都有ID也有很多好处。可以写到基类里、可以写统一的主键参数代码、可以在存储过程里统一操作等等
2010-06-24 08:48 | 要有好的心情

#11楼  回复 引用 查看 

水贴啊~~

命名规范如果不知道怎么弄可以直接参考微软设计的一些例子 很正规的

一般主键字段都是根据表的名字起的 比如表名是T_Department
主键字段就是DepartmentID, ID我建议都大写 Id看着很不舒服

如果主键字段仅仅是内部使用的唯一标识,就起名RowID

2010-06-24 09:08 | 犇牛牛

#12楼  回复 引用 

这也是问题。。
2010-06-24 09:09 | mock[未注册用户]

#13楼  回复 引用 查看 

自增用ID,
规则生成用CODE
2010-06-24 09:13 |

#14楼  回复 引用 查看 

不是被封了吗?怎么又放出来了?
2010-06-24 09:14 | 下半身诗人

#15楼  回复 引用 查看 

单纯性主键还是用“表名+ID”比较好。

“EmployeeID”这样写就很好,ID我觉得还是要大写,这样看起来与表名容易区隔开来。

2010-06-24 09:16 | 卡通一下

#16楼  回复 引用 

不是被封了吗?怎么又放出来了
2010-06-24 09:18 | abc3sa[未注册用户]

#17楼  回复 引用 查看 

ID一般是大写,属性和数据库字段名尽量保持一致,SQL SERVER不区分大小写,oralce区分大小写的
2010-06-24 09:19 | peace

#18楼  回复 引用 

不是被封了吗?怎么又放出来了
2010-06-24 09:27 | lpkke[未注册用户]

#19楼  回复 引用 查看 

数据库中,个人喜欢id.
不过,不喜欢中间加下划线.比较中间Camel命名规则.
2010-06-24 09:31 | Richie

#20楼  回复 引用 查看 

引用tandly:
@滔滔踏浪
冗余
1、USER_ID 看起来是冗余了,但在SQL多表关联的应用中就清晰清楚了;
2、字段大写,是方便数据库移植的基本考量。
2010-06-24 09:33 | 滔滔踏浪

#21楼  回复 引用 查看 

0.0?
2010-06-24 09:35 | YoungCoder

#22楼  回复 引用 查看 

专业!
2010-06-24 09:35 | 小平C#

#23楼  回复 引用 查看 

!
2010-06-24 09:39 | _默`尕丢

#24楼  回复 引用 查看 

跟楼主做法类似,但我不会声明Ids属性。
2010-06-24 09:42 | 兆子

#25楼  回复 引用 查看 

恭喜,又上主页了。
2010-06-24 09:43 | Junior Lau

#26楼  回复 引用 查看 

公认简写,少于等于两个字母都用大写,三个及三个以上首字母大写

ID IP Cpu
2010-06-24 09:51 | 钧梓昊逑

#27楼  回复 引用 查看 

程序中用 类型+Id 或者 OId。 数据库中随便,只考虑程序中怎么就行了。关系型数据库中的不用考虑,这是阻抗比配的问题,不需要考虑。
2010-06-24 10:14 | 刘冬.NET

#28楼  回复 引用 查看 

Id 和 ID 都可以。根据项目的规范来。

2010-06-24 10:18 | 木野狐(Neil Chen)

#29楼  回复 引用 查看 

变量名遵守小写开头的规范就好了。
2010-06-24 10:19 | 木野狐(Neil Chen)

#30楼  回复 引用 查看 

还好,对初学者还是很有帮助的
2010-06-24 10:27 | 寻自己

#31楼  回复 引用 查看 

吉日公司连个像样的编码规范都没有么?这个都拿来说?
2010-06-24 10:36 | 亚历山大同志

#32楼  回复 引用 查看 

我现在都是用ID
2010-06-24 10:52 | 红魔

#33楼  回复 引用 

又冒出来了一个B2C的方向,不是我故意的
对吉日 no comments...
2010-06-24 11:03 | tongxue[未注册用户]

#34楼  回复 引用 查看 

@邀月
我就用的这个方式,少重复,容易识别。
2010-06-24 11:07 | Lu@SH

#35楼  回复 引用 查看 

ID其实是一个缩写词,全称是Identity。

当ID单独用时,且该场景适用Pascal大小写规则时,一般用全大写,因为ID是缩写词,本来就应该写成ID或是I.D.

当ID跟在别的词后面时,则用Id,例如DataId,或是itemId。这是因为itemId这类词代表的含义是Item ID,根据Camel或Pascal大小写规则,每个“词”的首字母大写。所以写成Id。

当ID单独使用,且该场景适用Camel大小写规则时,一般用id。

id自身并没有复数形式,所以ids是不可取的。Identity的复数形式是Identities
2010-06-24 12:22 | Ivony...

#36楼  回复 引用 查看 

我一般是用Id
2010-06-24 13:22 | 良村

#37楼  回复 引用 查看 

数据库中一般跟着表名 TableID
程序中直接用 Pascal的写法 Id
私有的字段我会加 下划线 _id
2010-06-24 13:43 | 超级奶崽

#38楼  回复 引用 查看 

一点信息,按照微软自己 .NET 程序库的命名规则,两个字母或以下的用全大写。比如 IO 而不是 Io。一次类推,一般的写法应该是 ID。

2010-06-24 14:07 | 我是打酱油的

#39楼  回复 引用 查看 

我们使用的规范真是惊人的相似
2010-06-24 18:04 | 小青青

#40楼[楼主]  回复 引用 查看 

@小青青

不会吧?总算有一样的?

2010-06-25 08:49 | 吉日嘎拉 不仅权限管理

#41楼  回复 引用 查看 

嘟嘟一般用_ID
2010-06-25 16:42 | 杀死鼻儿

#42楼  回复 引用 查看 

一般主键用Id,通过外键关键到其他表时就用表名+Id,比如User的Id,关联到其他表就用UserId
2010-06-26 14:47 | pqmagic

#43楼  回复 引用 查看 

Id
I大写,d小写
2010-06-26 16:01 | 永远的阿哲

#44楼[楼主]  回复 引用 查看 

我跟你习惯非常相似,呵呵

引用pqmagic:一般主键用Id,通过外键关键到其他表时就用表名+Id,比如User的Id,关联到其他表就用UserId

2010-06-26 16:27 | 吉日嘎拉 不仅权限管理

#45楼  回复 引用 查看 

靠,一个sb该叫傻逼还是fool,当然是看所在环境啦,语言是用来交流的,规范也不过是为了让交流更方便,讨论这个有意思吗?delphi里每个类加前缀T,MFC里每个类加前缀C,你说该加C还是T?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐