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) 编辑 收藏
![](http://www.cnblogs.com/jirigala/aggbug/1763985.html?type=1&webview=1)
#1楼 回复 引用 查看 数据库字段:USER_ID
对象属性: UserId
2010-06-23 22:43 | 滔滔踏浪
ORALCE 数据库用 USER_ID 比较好,
sqlserver UserId 也无妨,不过还是你用 USER_ID 规范一些。
2010-06-23 23:00 | 吉日嘎拉 不仅权限管理
ids这样的名字是不应当使用的,因为ID不是集合、变量或复数,在实体设计中,仅仅一个单一的标识而已。
如果是批量操作,参数名建议使用 idArray 或 idList.
2010-06-24 00:34 | Zealic
这个…….NET设计规范好像不是这么说的,Pascal的写法是Id,Camel的写法是id,上面明确指出不应该写为ID了……,也就是说公共成员、类型及命名空间名称用Pascal写法写为Id,参数和成员写为Camel写法为id。
我再仔细查查。
2010-06-24 01:02 | 冷冷
说白了你的团队认为哪个好就用哪个只要统一就可以了。
2010-06-24 01:21 | xiao_p
Product:PID
News:NID
Item:IID
2010-06-24 02:06 | 邀月
2010-06-24 08:27 | Tony Qu
WebArticle:ArticleID
2010-06-24 08:29 | Astar
冗余
2010-06-24 08:35 | tandly
统一都有ID也有很多好处。可以写到基类里、可以写统一的主键参数代码、可以在存储过程里统一操作等等
2010-06-24 08:48 | 要有好的心情
命名规范如果不知道怎么弄可以直接参考微软设计的一些例子 很正规的
一般主键字段都是根据表的名字起的 比如表名是T_Department
主键字段就是DepartmentID, ID我建议都大写 Id看着很不舒服
如果主键字段仅仅是内部使用的唯一标识,就起名RowID
2010-06-24 09:08 | 犇牛牛
2010-06-24 09:09 | mock[未注册用户]
规则生成用CODE
2010-06-24 09:13 | 辰
2010-06-24 09:14 | 下半身诗人
“EmployeeID”这样写就很好,ID我觉得还是要大写,这样看起来与表名容易区隔开来。
2010-06-24 09:16 | 卡通一下
2010-06-24 09:18 | abc3sa[未注册用户]
2010-06-24 09:19 | peace
2010-06-24 09:27 | lpkke[未注册用户]
不过,不喜欢中间加下划线.比较中间Camel命名规则.
2010-06-24 09:31 | Richie
@滔滔踏浪
冗余
1、USER_ID 看起来是冗余了,但在SQL多表关联的应用中就清晰清楚了;
2、字段大写,是方便数据库移植的基本考量。
2010-06-24 09:33 | 滔滔踏浪
2010-06-24 09:35 | YoungCoder
2010-06-24 09:35 | 小平C#
2010-06-24 09:39 | _默`尕丢
2010-06-24 09:42 | 兆子
2010-06-24 09:43 | Junior Lau
ID IP Cpu
2010-06-24 09:51 | 钧梓昊逑
2010-06-24 10:14 | 刘冬.NET
2010-06-24 10:18 | 木野狐(Neil Chen)
2010-06-24 10:19 | 木野狐(Neil Chen)
2010-06-24 10:27 | 寻自己
2010-06-24 10:36 | 亚历山大同志
2010-06-24 10:52 | 红魔
对吉日 no comments...
2010-06-24 11:03 | tongxue[未注册用户]
我就用的这个方式,少重复,容易识别。
2010-06-24 11:07 | Lu@SH
当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...
2010-06-24 13:22 | 良村
程序中直接用 Pascal的写法 Id
私有的字段我会加 下划线 _id
2010-06-24 13:43 | 超级奶崽
2010-06-24 14:07 | 我是打酱油的
2010-06-24 18:04 | 小青青
不会吧?总算有一样的?
2010-06-25 08:49 | 吉日嘎拉 不仅权限管理
2010-06-25 16:42 | 杀死鼻儿
2010-06-26 14:47 | pqmagic
I大写,d小写
2010-06-26 16:01 | 永远的阿哲
引用pqmagic:一般主键用Id,通过外键关键到其他表时就用表名+Id,比如User的Id,关联到其他表就用UserId
2010-06-26 16:27 | 吉日嘎拉 不仅权限管理
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 设计规范 建议,应使用 : IDids这样的名字是不应当使用的,因为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:ProductIDWebArticle: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楼 回复 引用 查看
我现在都是用ID2010-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楼 回复 引用 查看
我一般是用Id2010-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楼 回复 引用 查看
嘟嘟一般用_ID2010-06-25 16:42 | 杀死鼻儿
#42楼 回复 引用 查看
一般主键用Id,通过外键关键到其他表时就用表名+Id,比如User的Id,关联到其他表就用UserId2010-06-26 14:47 | pqmagic
#43楼 回复 引用 查看
IdI大写,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?相关文章推荐
- C#、ASP.NET主键到底怎么写比较好?ID?Id?id?IDs?Ids?ids?欢迎大家指点
- C#、ASP.NET主键到底怎么写比较好?ID?Id?id?IDs?Ids?ids?欢迎大家指点
- C#、ASP.NET主键到底怎么写比较好?ID?Id?id?IDs?Ids?ids?欢迎大家指点
- C#、ASP.NET主键到底怎么写比较好?ID?Id?id?IDs?Ids?ids?欢迎大家指点
- [ASP.NET]在asp.net(C#)中怎么获得一个目录的大小?
- 在asp.net(C#)中怎么获得一个目录的大小?
- C# ASP.NET 开源网上商城、外贸产品网上展示的几个效果图 -- 仅供大家参考
- 整理了一下Asp.net源码常见问题(完善中...),欢迎大家补充修正(最后更新于06-01)!
- C#中类和接口的设计思想(本人认为比较好的思想,欢迎大家讨论指点)
- Ext2.2+ASP.NET开发框架已完成欢迎大家下载!
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 招聘ASP.NET(C#)开发人员(已经截止,谢谢大家支持)
- 最近用asp.net做的一个网站,欢迎大家访问
- ASP.NET,C# 获取当前插入行主键
- Asp.net(C#)中,怎么通过域验证用户身份?
- 新开的ASP.NET视频聊天室,欢迎大家光临
- c#写的一个html模板方案,不知道大家在asp.net上面使用的是不是也是这个原理
- 本人有时间做了一个日程安排和名片管理系统,B/S结构,sql+ASP.NET(C#),赠送大家免费使用,需要的请留下EMAIL!
- C# ASP.NET 开源网上商城、外贸产品网上展示的几个效果图 -- 仅供大家参考
- 欢迎大家访问我们的技术论坛www.msaspx.com,asp.net技术交流!