1
11
A背景The ADO.NET Framework 支持两种数据访问体系结构模型:
面向连接的数据访问体系结构 应用程序与数据源建立连接,然后通过SQL请求与数据源交互 使用相同的连接 (例如,即使应用程序不使用任何数据库操作,也必须在应用程序和数据源之间保持开放连接)。 连接的体系结构是指您不断地访问数据库以执行您希望执行的任何CRUD(创建、读取、更新和删除)操作。这会增加数据库的流量,但通常速度要快得多,因为您应该处理较小的事务。
它建立在类的基础上
在断开连接的数据访问体系结构中 ADO。net使用内存中的数据存储,可以同时保存多个表(它们是以前提取的)。 断开连接的体系结构是一种从数据库中检索记录集并将其存储的方法,使您能够对内存中的数据执行许多CRUD(创建、读取、更新和删除)操作,然后可以在重新连接时将其与数据库重新同步。
它基于类
连接和断开体系结构的一些关键类
在期望的情况下,哪一个更好?已连接模式
断开连接模式
回答您的问题
Web应用可以被连接或断开, 事实上ASP。NET应用程序已断开连接 ,由于ADO。NET断开连接的模型。由于简单的实现和更容易的故障排除,断开连接的模型越来越流行。用ASP。NET应用程序将在数据操作完成后立即关闭所有数据库连接,无论是每月15次还是每秒15次。
是的,假设你有一些重要的提示要告诉朋友。 断开的 意思是你期待见到他的方式,或者你正在花时间获取更多的提示。 有联系的 当你和他住在一起或与他进行在线/实时交流时,他会告诉你每一次你想要的提示。
EF使用
断开的
模型因为您处理数据并进行所需的更改,然后执行
它基于应用程序逻辑。RealTime应用程序需要连接,因为它们需要及时传播和更新,而不是其他应用程序类型。
我已经回答了这个问题。我只想说,通过保持连接仅在最短的时间内打开,ADO。NET节省了系统资源,为数据库提供了最大的安全性,对系统性能的影响也较小。这取决于你的应用策略/类型,你可以自己做出一个好的决定。 使现代化 :
看看
使用此属性时,实体框架会在将更改保存到数据库之前检查数据库中的更改。任何冲突的更改都将导致
|
2
10
ADO.Net
ADO中的“Connected”和“disconnected”。净额为
关于数据库连接
A.
在ADO。净术语,实体框架始终以断开模式运行。 EF的每个数据库操作都会打开和关闭数据库连接(除非您显式重写此行为)。这是这里唯一重要的事情。无需详述(dis)连接的ADO.Net的详细信息。可以说,一般来说,不建议长时间保持数据库连接打开。 软件体系结构在软件架构中,“已连接”和“已断开”通常指 1层与N层 在1层应用(例如WPF应用)中,用户界面和数据访问层(DAL)在相同的应用过程中运行。UI“连接”到DAL。并不是说它将始终与数据库保持开放连接,而是数据库始终可用。DAL从数据存储中提取的对象可以在UI和 相同的对象 可以返回到DAL并保存到数据存储(为此使用新的数据库连接)。 在N层应用程序中,UI通过网络连接与数据访问层“断开连接”。假设DAL是web服务的一部分。web服务通常是无状态的:它生成响应并忘记它们。此外,对象将在连接的两端进行序列化和反序列化。当响应进入导线时,对象就消失了。 实体框架正如您现在所怀疑的,在EF世界中,“disconnected”指的是后者的含义,即N层应用程序。
在一层应用程序中,您可以选择具有一个上下文(
在N层应用程序中,上下文产生实体 或 保存实体,而不是两者都保存。它生成序列化的实体,并释放上下文。从客户端应用程序返回的实体被反序列化并重新附加到保存其更改的新上下文实例。这就是你困惑的根源。。。
如果你读到建筑内涵中的“断开连接”,这一切都是有意义的。在实体框架文档中,有一个 entire chapter on this topic . 因此,您的问题
可以回答如下:
|
SobanSA · SqlDataReader数据类型转换错误 7 年前 |
Athafoud · SqlDataReader获取特定的结果集 8 年前 |
Anyname Donotcare · EF中的连通模型和非连通模型 9 年前 |
Rocky · 如何从SqlDataReader中读取多个结果集?[副本] 11 年前 |
Chizl · 记录集循环的替代方案 11 年前 |