LINQ : 在LINQ TO SQL中使用事务和控制并发

LINQ TO SQL,顾名思义,涉及到了数据库操作。那么就会有一个事务的概念,例如,假设我们需要一次性插入两个实体,但希望保证这两个操作的完整性的话。

1. 隐式事务

其实,即便我们不写代码,LINQ TO SQL也会自动创建一个事务的。默认事务隔离级别为ReadCommitted

 

2. 显式事务

我们也可以自己写代码,来明确地控制事务,默认事务隔离级别为ReadCommitted

NorthwindDataContext db = new NorthwindDataContext();

db.Connection.Open();
db.Transaction = db.Connection.BeginTransaction();

。。。。。

db.Transaction.Commit();
db.Connection.Close();

 

3. 显式分布式事务

我们也可以使用TransactionScope对象,来定义分布式事务。

【注意】TransactionScope的默认隔离级别为可串行化,可能带来并发锁冲突问题。

关于它的详细介绍,有兴趣的朋友可以参考

http://msdn.microsoft.com/zh-cn/library/ms172152(VS.80).aspx

 

最后大概要谈一下并发控制的问题:这个问题的出现就在于,某些时候,某个客户端读取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来回答你的问题。 问题1:vs2019搭建sql server ce开发环境详细过程 以下是在VS2019搭建SQL Server CE开发环境的详细步骤: 1. 打开Visual Studio 2019,创建一个新的C#项目; 2. 在解决方案资源管理器,右键单击项目并选择“管理NuGet程序包”; 3. 在NuGet程序包管理器搜索“SQL Server Compact”,然后安装“Microsoft.SqlServer.Compact”包; 4. 安装完成后,右键单击项目,选择“添加”->“新建项”->“数据”->“本地数据库”; 5. 在“添加新项”对话框,选择“SQL Server Compact 4.0数据库”,然后输入数据库名称和位置; 6. 单击“添加”按钮,然后在“服务器资源管理器”打开新创建的数据库。 现在你已经成功地在VS2019搭建了SQL Server CE的开发环境。 问题2:sql server ce和sq lite和office access这3种数据库各个方面对比,各自的优缺点,以及它们是否支持ORM SQL Server CE和SQLite和Office Access是三种不同类型的数据库,以下是它们各自的优缺点和支持ORM情况的描述: SQL Server CE: 优点: - 可以在Windows桌面应用程序使用; - 可以使用ADO.NET进行数据访问; - 支持LINQ; - 可以在移动设备上使用。 缺点: - 不支持存储过程; - 不支持复杂的查询; - 不支持全文搜索。 是否支持ORM:是的,SQL Server CE支持ORM(对象关系映射)。 SQLite: 优点: - 轻量级且快速; - 可以在多种操作系统上使用; - 支持事务和完整性约束。 缺点: - 不支持存储过程; - 不支持视图; - 不支持远程连接。 是否支持ORM:是的,SQLite支持ORM。 Office Access: 优点: - 集成了数据库和应用程序; - 可以使用Visual Basic for Applications(VBA)进行编程; - 支持多种数据源。 缺点: - 不适合用于高并发应用程序; - 数据库文件大小限制。 是否支持ORM:是的,可以使用Microsoft Access ORM框架。 总的来说,每种数据库都有其优点和缺点,选择哪种数据库取决于你的具体需求和项目要求。同时,它们都支持ORM。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值