一、开发环境:
VS2015,
.Net Core 1.0.0-preview2-003156
二、准备数据:
CREATE DATABASE [Blogging];
GO USE [Blogging];
GO CREATE TABLE [Blog] (
[BlogId] int NOT NULL IDENTITY,
[Url] nvarchar(max) NOT NULL,
CONSTRAINT [PK_Blog] PRIMARY KEY ([BlogId])
);
GO CREATE TABLE [Post] (
[PostId] int NOT NULL IDENTITY,
[BlogId] int NOT NULL,
[Content] nvarchar(max),
[Title] nvarchar(max),
CONSTRAINT [PK_Post] PRIMARY KEY ([PostId]),
CONSTRAINT [FK_Post_Blog_BlogId] FOREIGN KEY ([BlogId]) REFERENCES [Blog] ([BlogId]) ON DELETE CASCADE
);
GO INSERT INTO [Blog] (Url) VALUES
('http://blogs.msdn.com/dotnet'),
('http://blogs.msdn.com/webdev'),
('http://blogs.msdn.com/visualstudio')
GO
三、解决方案:
新建项目:
File --> New --> Project --> ASP.Net Core Web Application(.Net Core) -- > Empty --> OK
添加EF Core引用:
编辑project.json文件,在【dependencies】和【tools】两个节点内添加下面代码
【dependencies】节点:
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.4",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.4",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
【tools】节点:
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
添加后结果如图:
链接数据库生成DbContext及Model对象:
在Package Manager Console内执行:
Scaffold-DbContext "Data Source=.;Initial Catalog=Blogging;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
执行成功后为在项目中生成Models文件夹及DbContext和Model对象: