新足迹

 找回密码
 注册

精华好帖回顾

· 《生死河》 – 蔡骏 (2014-3-2) 大成若缺 · 愤怒、自由、理想与爱 —— 怀念家驹 (2007-5-21) 木头
· 新南威尔士大学校园一瞥 (2008-8-9) patrickzhu · PAPA 帮正名之战 -SK单挑中南帮主朱爸爸 (技术顾问紫雪花184楼亮招ing) (2008-6-8) steveking
Advertisement
Advertisement
查看: 2784|回复: 32

请教C#高手之六: 有关DataTable的替代objects [复制链接]

发表于 2010-8-30 13:30 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
想请教一下大家都是用DataTable还是自己做一个collection, 有哪些优缺点?有没有第三方的frame?

谢谢。
Advertisement
Advertisement

发表于 2010-8-30 14:08 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
datatable 比较heavy,现在比较提倡用business entity. 现在市面上不少ormapping tools你可以考虑用一下。

评分

参与人数 1积分 +3 收起 理由
hornsay + 3 感谢分享

查看全部评分

发表于 2010-8-30 16:58 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Entity Framework

评分

参与人数 1积分 +3 收起 理由
hornsay + 3 感谢分享

查看全部评分

发表于 2010-9-2 15:55 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
有没有人用过dOOdads? 这个framework如何?和MS Entity Framework比较,哪个更好?

2010年度奖章获得者

发表于 2010-9-2 16:01 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
兄弟,愛用啥就用啥吧, 啥都用一遍,你就知道了。

发表于 2010-9-2 16:01 |显示全部楼层
此文章由 kawara 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kawara 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你到seek逛一遍,就知道该用啥了
Advertisement
Advertisement

发表于 2010-9-2 16:03 |显示全部楼层
此文章由 Dan.and.Andy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Dan.and.Andy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 hornsay 于 2010-9-2 15:55 发表
有没有人用过dOOdads? 这个framework如何?和MS Entity Framework比较,哪个更好?


我用过, 但是没用过 EF.

dOOdads 的效率还可以, 最方便的是一个反向工程直接生成代码, 修改一下就能用了.

加一句, 要求不高的情况下

评分

参与人数 1积分 +3 收起 理由
hornsay + 3 感谢分享

查看全部评分

发表于 2010-9-2 16:06 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看你多大的项目了,项目本身要不要分多个layer。

发表于 2010-9-2 16:24 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-9-2 16:01 发表
兄弟,愛用啥就用啥吧, 啥都用一遍,你就知道了。


我搜了一下 o/r mapping tool, 好像这dOOdads名气比较响,我用它的template generate了一个table, 看上去还不错,还在学习如何使用它。
持不同股见者...

发表于 2010-9-2 16:28 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
vs2010就直接用 Entity Framework吧,用POCO template

发表于 2010-9-2 16:31 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 Dan.and.Andy 于 2010-9-2 16:03 发表


我用过, 但是没用过 EF.

dOOdads 的效率还可以, 最方便的是一个反向工程直接生成代码, 修改一下就能用了.

加一句, 要求不高的情况下


"要求不高的情况下 ", 如何理解?

我的要求估计也不高。 只是希望每个table有自己的unit, 所有的rule在里面, 好过东拉一个datatable, 西拉一个datatable的。
持不同股见者...
Advertisement
Advertisement

发表于 2010-9-2 16:33 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 flyspirit 于 2010-9-2 16:06 发表
看你多大的项目了,项目本身要不要分多个layer。


这个难倒我了,我希望就2tier 吧,不想搞multi-tier, 一共就2个程序员,我还是part-time的。
持不同股见者...

发表于 2010-9-2 16:34 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2010-9-2 16:28 发表
vs2010就直接用 Entity Framework吧,用POCO template


老板到现在还拖着,我还在用vs2005.
持不同股见者...

发表于 2010-9-2 16:38 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
晕,你是part time的?

原帖由 hornsay 于 2010-9-2 16:33 发表


这个难倒我了,我希望就2tier 吧,不想搞multi-tier, 一共就2个程序员,我还是part-time的。

发表于 2010-9-2 16:40 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
2005好戏linq to sql都不支持哇?其实小项目用这个就挺好,少写很多代码。

原帖由 hornsay 于 2010-9-2 16:34 发表


老板到现在还拖着,我还在用vs2005.

发表于 2010-9-3 08:12 |显示全部楼层
此文章由 Dan.and.Andy 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Dan.and.Andy 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 hornsay 于 2010-9-2 16:31 发表


"要求不高的情况下 ", 如何理解?

我的要求估计也不高。 只是希望每个table有自己的unit, 所有的rule在里面, 好过东拉一个datatable, 西拉一个datatable的。 ...


这是个很老的东西了, Generic List 的没有. 但是基本的 crud 和 getByKey 都有.

其实不能跟 nhibinate 和 EF 比, 不同时代的.
Advertisement
Advertisement

发表于 2010-9-3 09:30 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 hornsay 于 2010-9-2 16:33 发表


这个难倒我了,我希望就2tier 吧,不想搞multi-tier, 一共就2个程序员,我还是part-time的。


简单的小项目,就直接用DataTable得了,用ORM体现不出优势。 ORM是把数据库map到class, business logic在class中实现,答道把data layer和business layer分开的目的。小项目就不用去用了,还是要花不少精力的。

直接用ADO.NET吧,把基础打打好。以后用到在学orm工具。

发表于 2010-9-3 09:48 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
不建议直接用datatable,其他的不说了,就是不是强命名就一票否决了,如果真是很小的项目,就直接写model,也没有多麻烦,数据层用datareader来装载。


原帖由 flyspirit 于 2010-9-3 09:30 发表


简单的小项目,就直接用DataTable得了,用ORM体现不出优势。 ORM是把数据库map到class, business logic在class中实现,答道把data layer和business layer分开的目的。小项目就不用去用了,还是要花不少精力的。

直接用ADO. ...

发表于 2010-9-3 10:27 |显示全部楼层
此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2010-9-3 09:48 发表
不建议直接用datatable,其他的不说了,就是不是强命名就一票否决了,如果真是很小的项目,就直接写model,也没有多麻烦,数据层用datareader来装载。


...


是不是强命名没有那么重要吧。尤其对于小型项目来说。

发表于 2010-9-3 18:33 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 flyspirit 于 2010-9-3 09:30 发表


简单的小项目,就直接用DataTable得了,用ORM体现不出优势。 ORM是把数据库map到class, business logic在class中实现,答道把data layer和business layer分开的目的。小项目就不用去用了,还是要花不少精力的。

直接用ADO. ...


项目应该不算小,几年前试过开发3tier, 但不知怎么原因,速度很慢,而且老是出现系统性error, 不知是Delphi的DCOM有问题还是我写的东西有问题,开发了半年,后来放弃了.

我们现在的applications应用于web, desktop(win form and service), 和handheld, 这些applications都用同一个database, 所以business logic 方面都是差不多的。
虽然还没有仔细研究,但我对现在的dOOdads很满意,所有tables,大概80多个tables 已经都mapping 到自己的class里,这样节约了很多时间。 这是很另人兴奋的。

现在已经开始感受到.NET的powerful, 包括前面ask的serializable的feature, very powerful, 节约了我很多时间,而且也不用写很多code, 程序看上去漂亮很多。
持不同股见者...

发表于 2010-9-3 18:54 |显示全部楼层
此文章由 西门吹哨 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 西门吹哨 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你不是脑科医生兼职业炒家吗?
咋做IT了?
Advertisement
Advertisement

发表于 2010-9-3 18:59 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 西门吹哨 于 2010-9-3 18:54 发表
你不是脑科医生兼职业炒家吗?
咋做IT了?


脑科医生--> programmer--> programmer,own business and 炒股.

所以现在是做3份工作。。
持不同股见者...

2010年度奖章获得者

发表于 2010-9-3 19:14 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 hornsay 于 2010-9-3 18:59 发表


脑科医生--> programmer--> programmer,own business and 炒股.

所以现在是做3份工作。。


你真是医生??
足迹 Reader is phenomenal. If you never used, you never lived 火速下载
头像被屏蔽

禁止发言

发表于 2010-9-3 19:22 |显示全部楼层
此文章由 iami 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 iami 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 hornsay 于 2010-9-3 06:59 PM 发表


脑科医生--> programmer--> programmer,own business and 炒股.

所以现在是做3份工作。。


老哥炒股是高人哪,以后多指点指点啊
签名被屏蔽

发表于 2010-9-3 20:06 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-9-3 19:14 发表


你真是医生??


以前是,现在不是了。
持不同股见者...

发表于 2010-9-3 20:07 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 iami 于 2010-9-3 19:22 发表


老哥炒股是高人哪,以后多指点指点啊


共同学习。。
持不同股见者...
Advertisement
Advertisement

发表于 2010-9-3 21:59 |显示全部楼层
此文章由 cdfei 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cdfei 所有!转贴必须注明作者、出处和本声明,并保持内容完整
哦,是炒中国的还是澳洲的呢

发表于 2010-9-6 13:41 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 cdfei 于 2010-9-3 21:59 发表
哦,是炒中国的还是澳洲的呢

炒澳洲的。
持不同股见者...

发表于 2010-9-6 13:45 |显示全部楼层
此文章由 hornsay 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 hornsay 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看了下dOOdads的source code, 其实它也是用datatable作为bridge和database互动。

基本的过程好像是:
load data:  datatable ->dOOdads objects -> operation
update data:  dOOdads objects->datatable.
持不同股见者...

发表于 2010-9-6 13:57 |显示全部楼层

回复 29# 的帖子

此文章由 flyspirit 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 flyspirit 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这些ORM Tools,都是以ADO。NET作基础的

发表回复

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

本版积分规则

Advertisement
Advertisement
返回顶部