vb.net – 使用DataContext类和SqlConnection有什么区别?

vb.net – 使用DataContext类和SqlConnection有什么区别?,第1张

概述这可能是一个非常模糊的问题,但我想我真的不明白发生了什么.我问了一个 question earlier,我被告知一种“将数据绑定到对象”的简单方法就是运行一个SqlConnection(connectionString).该回复还包括一条评论说我可以看中L2S和实体框架,所以我更深入地研究了这些.看来,与DataContext对象有关的所有内容都指向数据库.为什么SqlConnection会带来好 这可能是一个非常模糊的问题,但我想我真的不明白发生了什么.我问了一个 question earlier,我被告知一种“将数据绑定到对象”的简单方法就是运行一个sqlConnection(connectionString).该回复还包括一条评论说我可以看中L2S和实体框架,所以我更深入地研究了这些.看来,与DataContext对象有关的所有内容都指向数据库.为什么sqlConnection会带来好处?

使用其中任何一个有什么区别(或优点/缺点)?还有一个“标准”吗?一个更现代吗?

附:我问了很多不需要回答的问题.我只想为我的问题添加一些清晰度,以及我对这个主题的理解程度.

解决方法 sqlConnection是基础的原始ADO.NET类库的一部分 – 实际上是该库的sql Server部分.这是.NET中所有数据访问的基础.

使用原始ADO.NET,你是非常“笨拙”并接近金属 – 你必须创建你的SQL查询并执行它们,你得到行和列,非常像关系数据库会给你.

优点:非常接近sql,真正强大,性能最佳
缺点:更难编写,更多“粘合”代码,更少的类型安全性,更紧密地耦合到底层数据库结构

DataContext(linq-to-sql)或ObjectContext(Entity Framework)是更高级别的抽象 – 它们位于ADO.NET之上,但它们(linq-to-sql或Entity Framework)提供所谓的ORM功能 – 在这里,你’不是真正处理原始SQL语句和行/列,相反,这些代码生成器将为您创建一个抽象层 – 它是从.NET对象构建的.数据库中的每个表都将转换为相应的.NET类,其中包含该表中所有列的属性.

此外,对于L2S和EF,您通常使用liNQ进行查询 – 您的查询更像C#代码,而L2s / EF将处理您在C#中表达的查询转换为sql Server将执行的实际SQL语句.

优点:更容易使用,处理得更好(具有属性与原始行/列的对象),类型安全,使用liNQ查询的能力,更高的开发效率缺点:另一层意味着更多的翻译,对性能的打击,不适合某些事情(如批量 *** 作)

总结

以上是内存溢出为你收集整理的vb.net – 使用DataContext类和SqlConnection有什么区别?全部内容,希望文章能够帮你解决vb.net – 使用DataContext类和SqlConnection有什么区别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229546.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存