EF Core 2.0中开启Transaction事务会对DbContext创建和关闭数据库连接的行为有所影响

我们先在数据库中建立一个Book表:

CREATE TABLE [dbo].[Book]( [ID] [int] IDENTITY(1,1) NOT NULL, [BookName] [nvarchar](50) NULL, [BookDescription] [nvarchar](50) NULL, [ISBN] [nvarchar](20) NULL, [CreateTime] [datetime] NULL, CONSTRAINT [PK_Book] PRIMARY KEY CLUSTERED ( [ID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]GOALTER TABLE [dbo].[Book] ADD CONSTRAINT [DF_Book_CreateTime] DEFAULT (getdate()) FOR [CreateTime]GO

然后插入如下数据:

INSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (NChinese, NChinese, N0001)GOINSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (NEnglish, NEnglish, N0002)GOINSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (NJapanese, NJapanese, N0003)GOINSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (NRussian, NRussian, N0004)GOINSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (NItalian, NItalian, N0005)GO

查询Book表的数据,如下图所示:

 

现在我们使用EF Core将Book表映射到.NET Core控制台项目中的Book实体上,Book实体如下所示:

using System;using System.Collections.Generic;namespace EFCoreDB.Entities{ public partial class Book { public int Id { get; set; } public string BookName { get; set; } public string BookDescription { get; set; } public string Isbn { get; set; } public DateTime? CreateTime { get; set; } }}

 

相关文章