- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是一个非常模糊的问题,但我想我不太明白发生了什么。我问了question earlier有人告诉我“将数据绑定(bind)到对象”的简单方法是运行 SqlConnection(connectionString)。回复中还包含一条评论,称我可能会喜欢 L2S 和 Entity Framework ,因此我更深入地研究了这些。看起来您所要做的就是将 DataContext 对象指向数据库。为什么 SqlConnection 会带来好处?
使用其中任何一种有什么区别(或优点/缺点)?又是一个“标准”吗?更现代吗?
P.S.我问了很多问题,但并不是所有问题都需要回答。我只是想澄清一下我的问题以及我对这个主题的理解程度。
最佳答案
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 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9539741/
使用 DataSnap 2009,我似乎可以在客户端数据模块中使用远程数据库连接,使用 TDSProviderConection 和关联的 TSQLConnection。客户端很容易设置,我在表单上放
我很好奇为什么会这样。我今天早些时候遇到了这种情况 using (SqlConnection oConn = new SqlConnection(ConnectionString)) { us
我正在用 .Net Reflector 检查 SqlConnection . 我注意到有一个私有(private)构造函数,有趣的是它接受一个 SqlConnection 类作为参数。 我想知道的主要
我的问题:本周早些时候,我接到了加速我们程序中的任务的任务。我看着它,立即想到了在该任务中为函数使用并行 foreach 循环的想法。 我实现了它,通过了函数(包括所有子函数)并更改了 SqlConn
我想执行一个 SELECT 查询,然后执行一系列 UPDATE 查询(都在同一个表上); UPDATE 在重复调用的单独方法中实现。如果其中一个 UPDATE 查询失败,我希望它们全部失败/回滚 -
做什么 using (SqlConnection cn = new SqlConnection(connectionString)) 做吗? 最佳答案 new SqlConnection(connec
您好,我想问一下,创建 Singleton 以仅与 db 建立一个事件连接是否是个好主意。我想做的是: 1) 我有 wcf 服务 2)wcf服务从db获取数据 3)我想创建一个这样的单例,只有一个连接
尊敬的专业人士请帮我解决以下问题。在我的 .NET C# 应用程序中,有以下代码: SqlConnection connection = new SqlConnection( SQLCONNECTIO
我正在尝试更新一些代码。我有一个以此开头的 vb 文件... Imports System.Data.SqlClient Imports System.Data.Sql Imports System.
如果我打开一个到 SQL Server 的 SqlConnection,然后从多个后台线程发出多个查询,所有查询都使用该一个连接 - 这些查询是否会按顺序执行(不关心顺序) )? 具体来说,如果在一个
我们有一个使用 SQL Server 2008 R2 数据库的应用程序。在应用程序中,使用 SqlConnection 对象调用数据库。 此SqlConnection 对象在第一次访问时初始化一次,然
我正在尝试优化访问 SQL Server 2014 数据库的代码性能,并注意到连接池似乎并不像 ADO.NET 所宣传的那样工作。默认情况下,它应该被启用并且开箱即用(只要使用相同的连接字符串)。然而
我正在尝试使用 SqlConnection 和 SqlCommand 对象建立一个简单的 MS Access 数据库连接。 正如您在此处看到的,我是如何建立联系的: private SqlConnec
我有一个连接到数据库的 .NET 应用程序。 在我的 web.config 文件中有 用户名和密码已删除。 在我后面的代码中,我这样打开连接 protected void grabDat
SqlDataReader rdr = null; con = new SqlConnection(objUtilityDAL.ConnectionString); using (SqlCommand
public class db { public static string connectionString = WebConfigurationManager.Con
我需要你的帮助(眼睛)看看我哪里错了。 所以,我遇到了这个错误... 这是我正在做的... 一个登录用户,有一个角色,这个角色有或没有一些权限。 当他输入表单时,应用程序会根据他的角色检查用户权限。在
我不确定嵌套的 SqlConnections 是否可行,但我真的很想远离它。我现在在我的代码中遇到了一个范围问题,我正试图弄清楚如何解决它。 所以直到最近我还有一个全局 SqlConnection,它
我编写了以下代码(为简洁起见进行了删减): using (SqlConnection cn = new SqlConnection("Server=test;Database=test;User=te
我在另一台服务器上读取和写入数据到 Sql Server,因此我需要打开许多 SqlConnection,我在读取或写入完成后关闭它们,但有时我无法连接到服务器但是在我重新启动服务器后一切正常,我猜这
我是一名优秀的程序员,十分优秀!