EF Core 2.0中開啟Transaction事務會對DbContext創建和關閉數據庫連接的行為有所影響
阿新 • • 發佈:2018-10-17
dup .net core compute har sin locks png 技術分享 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] GO ALTER TABLE [dbo].[Book] ADD CONSTRAINT [DF_Book_CreateTime] DEFAULT (getdate()) FOR [CreateTime] GO
然後插入如下數據:
INSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (N‘Chinese‘, N‘Chinese‘, N‘0001‘) GO INSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (N‘English‘, N‘English‘, N‘0002‘) GO INSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (N‘Japanese‘, N‘Japanese‘, N‘0003‘) GO INSERT [dbo].[Book]([BookName], [BookDescription], [ISBN]) VALUES (N‘Russian‘, N‘Russian‘, N‘0004‘) GO INSERT [dbo].[Book] ([BookName], [BookDescription], [ISBN]) VALUES (N‘Italian‘, N‘Italian‘, N‘0005‘) 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; } } }
EF Core 2.0中開啟Transaction事務會對DbContext創建和關閉數據庫連接的行為有所影響