新足迹

 找回密码
 注册

精华好帖回顾

· 总是忍不住吼孩子?来看看怒气背后隐藏的秘密! (2018-5-1) 苏一菲 · 一封感谢信 (2007-8-30) amon54
· 萝卜糕 (2014-1-21) 高歌 · 看那些站在生命最后一个十字路口的人们(9月更新) (2010-2-18) yann
Advertisement
Advertisement
查看: 1520|回复: 23

小白的C#问题 (之三,Database) [复制链接]

发表于 2011-6-18 14:56 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大大们一般使用什么方式来跟数据库沟通的?我知道的有:
- manually created database layer in cs (sqlclient)
- manually created database layer in dll (sqlclient)
- dataset / table adapter
还有其他的吗?还是以上的都归类错了?

应该先说说我的问题:当数据库建立好以后,一般我都会建立ORM layer。在PHP,我可以用framework自动生成,也可以手写。

昨晚上我的数据库建立好了,想手写orm,然后发现了.net 的 Dataset/table adapter,就用上了。呃,还挺好的,省了很多麻烦,可以读可以写,还是全自动生成的。。。但是却不知道这是不是好方法。。。

各位给给意见吧,费事到时在公司说错话出丑了。。。
Advertisement
Advertisement

2010年度奖章获得者

发表于 2011-6-18 15:14 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
2.0得吧,没得说,老老实实ADO。NET吧, sqlclient, sqlcommand那些得。
nhibernate想用得话也可以。

评分

参与人数 1积分 +2 收起 理由
porcorosso + 2 真的是这样

查看全部评分

发表于 2011-6-18 15:59 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
小系统可以随便用orm,大系统很高访问量的话就算了,ado.net+store pro是正路。

评分

参与人数 2积分 +5 收起 理由
porcorosso + 2 我很赞同
atransformer + 3 感谢分享

查看全部评分

发表于 2011-6-18 16:50 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-6-18 15:59 发表
小系统可以随便用orm,大系统很高访问量的话就算了,ado.net+store pro是正路。


我才懒得做SP叻,都说了,到时会是小小白维护的。。。我可不要麻烦。。。越简单越好。。。

发表于 2011-6-18 16:52 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2011-6-18 15:14 发表
2.0得吧,没得说,老老实实ADO。NET吧, sqlclient, sqlcommand那些得。
nhibernate想用得话也可以。


喔。。。好吧好吧。。老实点, 老实点。。。

如果不是2.0呢?say 3.5 or 4? what are the other options??

发表于 2011-6-18 22:15 |显示全部楼层
此文章由 huazhb 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huazhb 所有!转贴必须注明作者、出处和本声明,并保持内容完整
4.0现在不是都用Entity Framework 了吗?
Advertisement
Advertisement

发表于 2011-6-19 18:59 |显示全部楼层
此文章由 ahwen 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ahwen 所有!转贴必须注明作者、出处和本声明,并保持内容完整
首选EF,次选Linq to SQL

发表于 2011-6-19 19:03 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
4.0下优先选择EF, NHibernate也可考虑。

NHibernate在2.0下也可以使用。

table adapter还是算了吧, 过渡的技术。

[ 本帖最后由 flyspirit 于 2011-6-19 19:05 编辑 ]

评分

参与人数 1积分 +1 收起 理由
porcorosso + 1 没分了

查看全部评分

发表于 2011-6-19 19:37 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
table adapter 是过气老祖宗?

发表于 2011-6-19 19:44 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
2.0 里面Visual Studio 直接生成Typed DataSet
3.5 SP1+ 用Entity Framework 生成type class

发表于 2011-6-19 20:13 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 porcorosso 于 2011-6-19 19:37 发表
table adapter 是过气老祖宗?


之后就被linq to sql和EF替代了。
Advertisement
Advertisement

发表于 2011-6-19 21:01 |显示全部楼层
此文章由 bullying520 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bullying520 所有!转贴必须注明作者、出处和本声明,并保持内容完整
长江后浪推前浪 前浪死在沙滩上

发表于 2011-6-20 20:47 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 jerryclark 于 2011-6-19 19:44 发表
2.0 里面Visual Studio 直接生成Typed DataSet
3.5 SP1+ 用Entity Framework 生成type class


学习了。。EF NH 我都是第一次听到的。。。

发表于 2011-6-20 20:48 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
LINQ很流行的吗?

发表于 2011-6-20 20:53 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 porcorosso 于 2011-6-18 16:52 发表


喔。。。好吧好吧。。老实点, 老实点。。。

如果不是2.0呢?say 3.5 or 4? what are the other options??


2.0以上的也选ado.net+sp的组合,orm很多东西缠不清楚,系统作大容易失去控制,我们在逐步摆脱orm,回归ado.net.

如果因为cache而喜欢orm的话,自己做cache也很容易.

发表于 2011-6-20 20:54 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 porcorosso 于 2011-6-20 20:48 发表
LINQ很流行的吗?


不流行了,现在用EF,.net 4.0它是标配。
Advertisement
Advertisement

发表于 2011-6-20 21:15 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 porcorosso 于 2011-6-20 20:48 发表
LINQ很流行的吗?


linq微软自创的一套查询语法, 独立于查询的对象。 可以用linq查询对象有object, database, xml, entity或者自己写custome provider.

linq to sql不用学了。 linq必学。

发表于 2011-6-21 09:21 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
现在developer离了linq都不能活,algorithm在.net这边越来越不重要,更注重架构,不知道对dev是好事还是坏事.

发表于 2011-6-21 09:24 |显示全部楼层
此文章由 o2h2o 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 o2h2o 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 porcorosso 于 2011-6-19 19:37 发表
table adapter 是过气老祖宗?

那玩意效率不行

发表于 2011-6-21 09:59 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2011-6-21 09:21 发表
现在developer离了linq都不能活,algorithm在.net这边越来越不重要,更注重架构,不知道对dev是好事还是坏事.


不光是.net. Algorithm在应用开发邻域都不太重要。 应用开发重要的是在对business的理解的基础上, 以最快的速度给答案。

发表于 2011-6-21 10:24 |显示全部楼层
此文章由 porcorosso 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 porcorosso 所有!转贴必须注明作者、出处和本声明,并保持内容完整
所以linq是新爷?

好知道了。。。
Advertisement
Advertisement

2007 年度奖章获得者

发表于 2011-6-21 10:34 |显示全部楼层
此文章由 coolioo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coolioo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我怎么就学不会linq呢,还是SQL容易啊

发表于 2011-6-21 10:53 |显示全部楼层
此文章由 huazhb 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 huazhb 所有!转贴必须注明作者、出处和本声明,并保持内容完整
linq其实只是表面, 看上去和sql非常相似, 就是把Select移到最后去了. 但是linq背后的lambda expression才是重点.否则很多源代码你都看不明白.

发表于 2011-6-21 13:27 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 coolioo 于 2011-6-21 10:34 发表
我怎么就学不会linq呢,还是SQL容易啊


我原来也是觉得linq在db driving的环境中作用不大,尤其是刚刚出来的时候。

但现在发现稍微复杂点的系统,或者framework level的产品,extension method方式的linq to object的用法还是比比皆是的。

最好把自己的脑子training的用linq的方式来思维

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部