社区
.NET Framework
帖子详情
Linq 都出来了,自己搞数据访问架构还有意义吗?
bluedoctor
2008-06-27 05:55:01
自己潜心搞了两年,最近三个月才有机会使用的数据访问架构,结合ORM和iBatis的数据访问架构,觉得还不错,可是最近看到了MS的VS2008里面都有Linq了,觉得自己的东西好像意义不大了。
Linq 都出来了,自己搞数据访问架构还有意义吗?
...全文
255
17
打赏
收藏
Linq 都出来了,自己搞数据访问架构还有意义吗?
自己潜心搞了两年,最近三个月才有机会使用的数据访问架构,结合ORM和iBatis的数据访问架构,觉得还不错,可是最近看到了MS的VS2008里面都有Linq了,觉得自己的东西好像意义不大了。 Linq 都出来了,自己搞数据访问架构还有意义吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
以专业开发人员为伍
2008-07-02
打赏
举报
回复
上面的链接中的内容比较少,我随便google了一下,看到
http://blog.miniasp.com/post/2007/12/Learn-LINQ-From-Here.aspx
。
以专业开发人员为伍
2008-07-02
打赏
举报
回复
Linq是开源项目,也有很多Linq源代码的分析文章。此外,
有很多种Linq
。Linq是一个可以发挥你自己的想象力去设计provider的框架,有更广阔的扩展空间给你创造自己的商品化衍生产品。
以专业开发人员为伍
2008-07-02
打赏
举报
回复
ORM最初、最基本的功能,就是在程序员的代码中类似“db.Save((User)MyObject);”这样地,将一个由变量MyObject所指引的(User)对象一步到位地更新到数据库中去。至于采取什么方式,是写配置文件还是自动反射(对每种类型最多仅需要反射一次),等等解析方式,这并不重要。重要的是:不能再让用户的程序中更新对象时再写过分累赘的字段处理代码。
如果你做不到,Linq做到了,这个最最基本的功能,那么就足以证明应该放弃你自己的“ORM”而使用Linq了。
以专业开发人员为伍
2008-07-02
打赏
举报
回复
编程,就应该追求“一行或者尽量少的代码来实现一个需求”这种目标。ORM正是为了简化对象的处理而产生的,用户无需关心如何将对象拆分为零碎的底层代码。你要求用户对对象的操作拆分写为对字段的操作,这是反ORM的做法。
至于认为越是高级、成熟的框架越不应该使用,我是很反对这种看法的。固然,现学现卖地使用那些成熟框架程序的做法可以蔑视,但是认为越是低级的代码越高级也同样害人。越是高级的东西越应该多多创造使用它的机会,不要纠缠于低级的东西多么“效率高、教育人”。毕竟,软件是用来用的,而不仅仅是用来学的。
以专业开发人员为伍
2008-07-02
打赏
举报
回复
[Quote=引用 2 楼 bluedoctor 的回复:]
整个修改,插入,选择,都可以更新部分字段的,这是我自己搞ORM的主要原因。另外,也可以使用SQLMapper方式,将查询结果映射到一个对象中,
/// <summary>
/// 根据业务号获取业务任务
/// </summary>
/// <param name="BusinessID"> </param>
/// <returns> </returns>
public BusinessTask GetBusinessTask(Int32 BusinessID )
{
//获取命令信息
Mapper.GetCommandInfo("GetBusinessTask");
//参数赋值,推荐使用该种方式;
Mapper.DataParameters[0].Value = BusinessID;
//参数赋值,使用命名方式;
//Mapper.SetParameterValue("@BusinessID", BusinessID);
//执行查询
return (BusinessTask)Mapper.ResultMapEntity( CurrentDataBase.DAO.ExecuteReader(CurrentDataBase.ConnectionString, Mapper.CommandType, Mapper.CommandText , Mapper.DataParameters), new BusinessTask() );
//
}//End Function
[/Quote]
Linq是“整个修改,插入,选择,都可以更新整个对象的”。
你搞的那个整个还是关系数据库操作风格。
ORM不应该仅仅在关系数据库上做一点表面文章,而应该从OO风格出发。我
总结了几条ORM用例
。
bluedoctor
2008-07-02
打赏
举报
回复
感谢sp1234,真是热心的大牛啊!
kkk_visual
2008-06-30
打赏
举报
回复
以后的程序员就是在做流水线,很多时候不理解内部的原理。我个人认为不管现在有多么的方便,如果是要走程序员这条路的,最好还是试着自己做一些,等原理明白了,再用现成的会更好。
bluedoctor
2008-06-28
打赏
举报
回复
还有几位星星来发言阿,谢谢,想多听听大家的看法。
一品梅
2008-06-28
打赏
举报
回复
没接触过LINQ,
当然有意义,见多识广吗?
没听说过懂LINQ的,以前的基础知识不精通熟炼的.
aierong
2008-06-28
打赏
举报
回复
没有绝对的
适合自己的最好
大腹
2008-06-28
打赏
举报
回复
[Quote=引用 9 楼 isline 的回复:]
就像是GriView都出来了,搞分页还有意义吗
ADO.NET都出来,搞数据访问层还有意义吗
[/Quote]
明白鸟明白鸟...
变成熊猫你就老实了是不
2008-06-28
打赏
举报
回复
就像是GriView都出来了,搞分页还有意义吗
ADO.NET都出来,搞数据访问层还有意义吗
ld_thinking
2008-06-27
打赏
举报
回复
适合自己的才是最好的
IcyPlayer
2008-06-27
打赏
举报
回复
linq在解决一些比较直接的问题时确实很方便,不过有些访问数据库的重复复杂操作还是需要自己的框架封装一些方法以求更方便,小弟我愚见,呵呵
jzywh
2008-06-27
打赏
举报
回复
你能用LINQ解决所有问题么?
bluedoctor
2008-06-27
打赏
举报
回复
整个修改,插入,选择,都可以更新部分字段的,这是我自己搞ORM的主要原因。另外,也可以使用SQLMapper方式,将查询结果映射到一个对象中,
/// <summary>
/// 根据业务号获取业务任务
/// </summary>
/// <param name="BusinessID"></param>
/// <returns></returns>
public BusinessTask GetBusinessTask(Int32 BusinessID )
{
//获取命令信息
Mapper.GetCommandInfo("GetBusinessTask");
//参数赋值,推荐使用该种方式;
Mapper.DataParameters[0].Value = BusinessID;
//参数赋值,使用命名方式;
//Mapper.SetParameterValue("@BusinessID", BusinessID);
//执行查询
return (BusinessTask)Mapper.ResultMapEntity( CurrentDataBase.DAO.ExecuteReader(CurrentDataBase.ConnectionString, Mapper.CommandType, Mapper.CommandText , Mapper.DataParameters), new BusinessTask() );
//
}//End Function
bluedoctor
2008-06-27
打赏
举报
回复
比如,数据插入的语法:
object insertValue=null;
xb.CurrentDataBase.Insert (
bl.Select (
bl.Add ( bl.F_AcceptDate )
.Add (bl.F_Accepter )
.Add (bl.F_BusinessID )
.Add (bl.F_ModuleID )
.Add (bl.F_NodeID )
.Add (bl.F_Remark )
.Add (bl.F_State )
//.Add (bl.F_SuccessDate )
//.Add (bl.F_SuccessMan )
)
,ref insertValue);
数据更新的语法:
xb.CurrentDataBase.Update (
bt.Select (
bt.Add (bt.F_AccepterList )
.Add (bt.F_CheckMan )
.Add (bt.F_Curr_ModuleID )
.Add (bt.F_Curr_NodeID )
.Add (bt.F_State )
.Add (bt.F_BTID )
.Add (bt.F_AssignMan )
.Add (bt.F_AssignDate )
.Add (bt.F_ChkEDate )
.Add (bt.F_ChkSDate )
.Add (bt.F_OptSDate )
.Add (bt.F_OptEDate )
)
);
2008.精通
LINQ
数据
访问
技术pdf及源码
全面介绍
LINQ
基本
架构
、技术原理、查询操作等内容深入剖析C#3.0中支持
LINQ
的语法功能涵盖
LINQ
to SQL、
LINQ
to Objects、
LINQ
to DataSet和
LINQ
to XML提供了87个ASP.NET Web实例及1个Windows窗体实例多媒体视频演示安装、配置性操作,并配音讲解。 全书共13章。第1章至第2章介绍了
LINQ
的基本语法,如隐型局部变量、Lambda表达式、查询表达式等,详细讲解了
LINQ
查询的基本子句和操作。第3章至第11章详细介绍了
LINQ
to SQL、
LINQ
to Objects、
LINQ
to DataSet和
LINQ
to XML 4个组件,用以查询和处理对象
数据
。第12章至第13章讲解
LINQ
在ASP.NET Web应用程序和Windows窗体应用程序中的应用,以巩固全书所学习的知识。 本书不仅适合
LINQ
的初学者,而且对.NET
数据
处理人员、ASP.NET开发人员和Windows Form开发人员都有非常大的帮助……
LINQ
实战 7/11
清晰完整PDF版本,是我从网上买来的 共 60MB,分为11个分卷 在 CSDN 上只有我整个是清晰完整的
LINQ
实战 7/11
LINQ
实战 .NET 2010 SQL 出版社:人民邮电出版社 ISBN:9787115208514 原价:65元 作者:(法)马格里,(美)艾歇特,(美)伍利 著,陈黎夫 译 出版日期:2009-8-1 字数:668000 页码:416 内容提要 -------------------------------------------------------------------------------- 作为.NET上连
初级学软件之ASP.NET 第九季
LINQ
技术
主讲内容: 第一讲
LINQ
技术概述 第二讲 from子句 第三讲 where子句 第四讲 select子句 第五讲 orderby子句 第六讲 建立
LINQ
数据
源 第七讲 查询
数据
库中的
数据
第八讲 向
数据
库中添加
数据
第九讲 修改
数据
库中的
数据
...
LINQ
高级编程 6/7
清晰完整PDF版本,是我从网上买来的 共 80MB,分为7个分卷 在 CSDN 上只有我整个是清晰完整的
LINQ
高级编程 .NET 2010 SQL
LINQ
高级编程 6/7 原价:48.00元 作者:克莱因 译者:李宝 出版社: 清华大学出版社 出版日期: 2009年 ISBN:9787302198857 -------------------------------------------------------------------------------- 本书由
数据
库专家scott Klein编写,讲述了如何有效地使用
LINQ
来查询XML、SQL
数据
库、ADO.NET DataSet和其他
数据
源,并对此技术进行了更深入的探讨,展示
LINQ
够显著地改进应用程序的性能。 本书首先介绍T
LINQ
和Visual Studio 2008、
LINQ
相关的语言特性以及
LINQ
查询和
LINQ
标准查询操作符;然后展示了如何在c#和Visual Basic中使用
LINQ
to XML编程,以及如何使用
LINQ
to XML处理其他
数据
模型;接下来依次介绍
LINQ
to SQL查询、高级查询概念、
LINQ
to Entities和
LINQ
to DataSets。所有这些颇具价值的见解为您提供了强有力的新工具,从而使您能够轻松地扩展和
访问
数据
库中的信息。 内容提要 -------------------------------------------------------------------------------- 本书结合具体实例详述了
LINQ
高级编程所涉及的各个方面。共分为
LINQ
概述、
LINQ
to XML、
LINQ
to SQL及附录四大部分,每一部分的各个章节结构清晰,层次明显。本书并不是对一种新技术的简单介绍,而是力求使读者通过本书的学习能够立即将
LINQ
应用到自己的项目开发中。 本书的内容深入浅出,循序渐进,不仅适合
LINQ
初学者,也可以作为
数据
库开发人员进阶的参考书。 目录 -------------------------------------------------------------------------------- 第Ⅰ部分
LINQ
项目简介 第1章
LINQ
项目 1.1
LINQ
概述 1.2 标准查询操作符 1.3
LINQ
to XML概述 1.4
LINQ
to SQL概述 1.5 本章小结 第2章 Visual Studio 2008简介 2.1 Visual Studi0 2008 2.2 语言相关的
LINQ
特性 2.3 本章小结 第3章
LINQ
查询 3.1 LrNQ查询简介 3.2 查询语法和方法语法的区别 3.3 使用查询语法和方法语法 3.4 本章小结 第4章
LINQ
标准查询操作符 4.1 概述 4.2 标准查询操作符 4.3 使用查询操作符 4.4 本章小结 第Ⅱ部分
LINQ
to XML 第5章 理解
LINQ
to XML 5.1 L]NQ t0XML概述 5.2 LrNQ to XML编程基础 5.3
LINQ
to XML编程概念 5.4
LINQ
toXML与其他XML技术的比较 5.5 本章小结 第6章
LINQ
to XML编程 第7章
LINQ
to XML和其他
LINQ
第8章
LINQ
to XML编程高级 第9章
LINQ
to XML和Visual Basic.NET 第Ⅲ部分
LINQ
to SQL 第10章
LINQ
to SQL概述 第11章
LINQ
to SQL查询 第12章 高级查询概念 第13章 实体类 第14章
LINQ
to DataSet 第15章
LINQ
to SQL高级论题 第Ⅳ部分 附录 作者介绍 -------------------------------------------------------------------------------- SCott K Jein,
数据
库专家、资深顾问,他对SQL Server、.NET和XML都有着浓厚的兴趣。除本书外,他的著作还包括Professional SQL Server 2005 XML和Professiona/WCF Programming(本书已由清华大华出版社引进并出版,中文版书名为《WCF高级编程》)。除了出版图书之外,Scott Klein还为SOL PASS Community Connector撰写半月刊专题文章,并经常在Wrox网站(www.Wrox.corn)和TopXML网站(www.TopXML.com)上发表文章,在SQL Server和.NET用户群里发言。您可以通过ScottKlein@SalXml.com与他交流。 文摘 -------------------------------------------------------------------------------- 第Ⅰ部分
LINQ
项目简介 第1章
LINQ
项目 我经常听说这样的问题,“什么是
LINQ
?”,“它是用来做什么的?”,“我们为什么需要它?”。第一个问题(以及随后的其他两个问题)的答案是,语言集成查询(LanguageIntegrated Query,
LINQ
)是一系列标准查询操作符的集合,这些操作符几乎对每一种
数据
源的导航、过滤和执行操作都提供了底层的基本查询
架构
。
LINQ
可查询的
数据
源包括XML(可使用
LINQ
to XML,即原来的X
LINQ
)、关系
数据
(使用
LINQ
to SQL,即先前的D
LINQ
)、AD0.NET DataSets(使用
LINQ
to DataSet),以及内存中的
数据
。 理解这项奇妙的新技术的最好方法就是了解一些关于
LINQ
如何出现以及为什么出现的历史和背景。 虽然人们最早听说
LINQ
是在2005年秋季,但实际上2003年初微软就启动了
LINQ
的开发。
LINQ
的总体目标是使开发人员更容易地处理SQL和XML
数据
,这主要是因为在关系
数据
(
数据
库)及与其通信(即对关系
数据
进行处理)的编程语言之间没有任何联系,对于XML同样也是如此。 大多数开发人员现在都能理解面向对象(object.oriented,OO)编程及其相关技术和特性,如类、方法、对象等。面向对象编程在过去十多年就已有巨大的发展,但即使在当前,如果要操纵的信息不是使用00方式定义的或本身就不具有00特性,通过O0技术使用和整合这些信息时仍然存在难以逾越的鸿沟。
LINQ
高级编程 2/7
清晰完整PDF版本,是我从网上买来的 共 80MB,分为7个分卷 在 CSDN 上只有我整个是清晰完整的
LINQ
高级编程 .NET 2010 SQL
LINQ
高级编程 2/7 原价:48.00元 作者:克莱因 译者:李宝 出版社: 清华大学出版社 出版日期: 2009年 ISBN:9787302198857 -------------------------------------------------------------------------------- 本书由
数据
库专家scott Klein编写,讲述了如何有效地使用
LINQ
来查询XML、SQL
数据
库、ADO.NET DataSet和其他
数据
源,并对此技术进行了更深入的探讨,展示
LINQ
够显著地改进应用程序的性能。 本书首先介绍T
LINQ
和Visual Studio 2008、
LINQ
相关的语言特性以及
LINQ
查询和
LINQ
标准查询操作符;然后展示了如何在c#和Visual Basic中使用
LINQ
to XML编程,以及如何使用
LINQ
to XML处理其他
数据
模型;接下来依次介绍
LINQ
to SQL查询、高级查询概念、
LINQ
to Entities和
LINQ
to DataSets。所有这些颇具价值的见解为您提供了强有力的新工具,从而使您能够轻松地扩展和
访问
数据
库中的信息。 内容提要 -------------------------------------------------------------------------------- 本书结合具体实例详述了
LINQ
高级编程所涉及的各个方面。共分为
LINQ
概述、
LINQ
to XML、
LINQ
to SQL及附录四大部分,每一部分的各个章节结构清晰,层次明显。本书并不是对一种新技术的简单介绍,而是力求使读者通过本书的学习能够立即将
LINQ
应用到自己的项目开发中。 本书的内容深入浅出,循序渐进,不仅适合
LINQ
初学者,也可以作为
数据
库开发人员进阶的参考书。 目录 -------------------------------------------------------------------------------- 第Ⅰ部分
LINQ
项目简介 第1章
LINQ
项目 1.1
LINQ
概述 1.2 标准查询操作符 1.3
LINQ
to XML概述 1.4
LINQ
to SQL概述 1.5 本章小结 第2章 Visual Studio 2008简介 2.1 Visual Studi0 2008 2.2 语言相关的
LINQ
特性 2.3 本章小结 第3章
LINQ
查询 3.1 LrNQ查询简介 3.2 查询语法和方法语法的区别 3.3 使用查询语法和方法语法 3.4 本章小结 第4章
LINQ
标准查询操作符 4.1 概述 4.2 标准查询操作符 4.3 使用查询操作符 4.4 本章小结 第Ⅱ部分
LINQ
to XML 第5章 理解
LINQ
to XML 5.1 L]NQ t0XML概述 5.2 LrNQ to XML编程基础 5.3
LINQ
to XML编程概念 5.4
LINQ
toXML与其他XML技术的比较 5.5 本章小结 第6章
LINQ
to XML编程 第7章
LINQ
to XML和其他
LINQ
第8章
LINQ
to XML编程高级 第9章
LINQ
to XML和Visual Basic.NET 第Ⅲ部分
LINQ
to SQL 第10章
LINQ
to SQL概述 第11章
LINQ
to SQL查询 第12章 高级查询概念 第13章 实体类 第14章
LINQ
to DataSet 第15章
LINQ
to SQL高级论题 第Ⅳ部分 附录 作者介绍 -------------------------------------------------------------------------------- SCott K Jein,
数据
库专家、资深顾问,他对SQL Server、.NET和XML都有着浓厚的兴趣。除本书外,他的著作还包括Professional SQL Server 2005 XML和Professiona/WCF Programming(本书已由清华大华出版社引进并出版,中文版书名为《WCF高级编程》)。除了出版图书之外,Scott Klein还为SOL PASS Community Connector撰写半月刊专题文章,并经常在Wrox网站(www.Wrox.corn)和TopXML网站(www.TopXML.com)上发表文章,在SQL Server和.NET用户群里发言。您可以通过ScottKlein@SalXml.com与他交流。 文摘 -------------------------------------------------------------------------------- 第Ⅰ部分
LINQ
项目简介 第1章
LINQ
项目 我经常听说这样的问题,“什么是
LINQ
?”,“它是用来做什么的?”,“我们为什么需要它?”。第一个问题(以及随后的其他两个问题)的答案是,语言集成查询(LanguageIntegrated Query,
LINQ
)是一系列标准查询操作符的集合,这些操作符几乎对每一种
数据
源的导航、过滤和执行操作都提供了底层的基本查询
架构
。
LINQ
可查询的
数据
源包括XML(可使用
LINQ
to XML,即原来的X
LINQ
)、关系
数据
(使用
LINQ
to SQL,即先前的D
LINQ
)、AD0.NET DataSets(使用
LINQ
to DataSet),以及内存中的
数据
。 理解这项奇妙的新技术的最好方法就是了解一些关于
LINQ
如何出现以及为什么出现的历史和背景。 虽然人们最早听说
LINQ
是在2005年秋季,但实际上2003年初微软就启动了
LINQ
的开发。
LINQ
的总体目标是使开发人员更容易地处理SQL和XML
数据
,这主要是因为在关系
数据
(
数据
库)及与其通信(即对关系
数据
进行处理)的编程语言之间没有任何联系,对于XML同样也是如此。 大多数开发人员现在都能理解面向对象(object.oriented,OO)编程及其相关技术和特性,如类、方法、对象等。面向对象编程在过去十多年就已有巨大的发展,但即使在当前,如果要操纵的信息不是使用00方式定义的或本身就不具有00特性,通过O0技术使用和整合这些信息时仍然存在难以逾越的鸿沟。
.NET Framework
17,740
社区成员
24,334
社区内容
发帖
与我相关
我的任务
.NET Framework
.NET技术 .NET Framework
复制链接
扫一扫
分享
社区描述
.NET技术 .NET Framework
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章