使用 Entity Framework 从 Visual Studio 创建 SQL Server 数据库






3.88/5 (4投票s)
我将通过从 VISUAL STUDIO 创建简单的 SQL-SERVER 数据库来教您 Entity Framework 的基础知识。
引言
在本文中,我将通过从 VISUAL STUDIO 创建一个简单的 SQL- SERVER 数据库来教你 Entity Framework 的基础知识。本文适用于对 ASP.NET 应用程序有一定的了解,但对 Entity Framework 的了解不足的程序员。我将教你
- 如何在 Visual Studio 中创建一个实体数据模型 (EDM)
- 如何将该模型导出到 SQL-Server 数据库
- 如何从 SQL-Server 数据库更新 EDM
背景
互联网上有许多网站通过预定义的 SQL 脚本向我们展示 Entity Framework 的基础知识。然而,关于如何生成这些脚本的信息非常少,所以我想教你如何在 Visual Studio 中从零开始生成 SQL 脚本。
使用代码
该应用程序是使用 Visual Studio 2015 创建的。我们将创建一个初始项目,我将向你展示如何一步一步地完成它。
在 Visual Studio 中创建一个新项目
创建一个新的“Windows 窗体应用程序”,如下所示
点击“确定”。
在我们的解决方案中创建一个新项目
- 右键单击解决方案名称,选择 添加 => 新建项目。
- 选择类库,键入名称,然后单击“确定”。
创建实体数据模型
我们将要创建实体数据模型。按照以下步骤操作
- 右键单击项目名称,选择 添加 => 新建项。
- 从左侧面板中选择“数据”选项卡,然后选择“ADO.NET 实体数据模型”。
- 将其重命名为MyFirstEFProject.edmx。单击“添加”。
- 在实体数据模型向导中选择“空 EF 设计器模型”。单击“完成”。
如果你已成功按照上述步骤操作,你将在设计模式下看到你的 EDM。
添加新实体
- 右键单击 EDM 设计模式,选择 添加新项 => 实体...
- 填写文本框,如下所示
- 点击“确定”。
你创建了一个名为Client的实体,其属性名称为IdClient。换句话说,你创建了一个实体,它将成为名为 Client 的**表**,其**主键**为IdClient。
添加新属性
在这一点上,我们将看到如何将属性添加到我们的实体。请注意,这些属性稍后将成为表中的新字段。
- 右键单击实体 Client,选择 添加新项 => 标量属性。
- 填写解决方案资源管理器的“属性”窗口,如下所示
注意:在本例中,实体键属性为 false,因为这是一个简单的字段,并且在IdClient上为 true,因为这将是我们的主键。
- 重复步骤 1 和 2 并创建名为的新标量属性
- LastName
- NIF
- 电话
如果你已成功按照上述步骤操作,你将以这种方式看到你的 EDM
我们刚刚在 Visual Studio 中创建了一个简单的 EDM。
将实体数据模型导出到 SQL-Server 数据库
我们将要将我在上一步中创建的实体数据模型导出到 SQL-Server 数据库
- 打开 SQL Server Management Studio。
- 右键单击“数据库”,选择“新建数据库”
- 在数据库名称上键入MyFirstEF。单击“确定”。
- 我们将要从 Visual Studio 设置数据库的连接属性
- 右键单击 EDM 设计模式,选择“从模型生成数据库”
- 单击“新建连接”
- 在“服务器名称”字段中键入你的 SQL-Server 主机名。
- 在字段“选择或输入数据库名称”中选择你在步骤 3 中创建的数据库。单击“确定”。
- 单击“下一步”。
- 选择你使用的 Entity Framework 的版本(如果你使用两个或更多)。单击“下一步”。
恭喜!你刚刚生成了创建数据库的脚本。
SET QUOTED_IDENTIFIER OFF; GO USE [MyFirstEF]; GO IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]'); GO -- -------------------------------------------------- -- Dropping existing FOREIGN KEY constraints -- -------------------------------------------------- -- -------------------------------------------------- -- Dropping existing tables -- -------------------------------------------------- -- -------------------------------------------------- -- Creating all tables -- -------------------------------------------------- -- Creating table 'Client' CREATE TABLE [dbo].[Client] ( [IdClient] int IDENTITY(1,1) NOT NULL, [Name] nvarchar(max) NOT NULL, [LastName] nvarchar(max) NOT NULL, [NIF] nvarchar(max) NOT NULL, [Phone] nvarchar(max) NOT NULL ); GO -- -------------------------------------------------- -- Creating all PRIMARY KEY constraints -- -------------------------------------------------- -- Creating primary key on [IdClient] in table 'Client' ALTER TABLE [dbo].[Client] ADD CONSTRAINT [PK_Client] PRIMARY KEY CLUSTERED ([IdClient] ASC); GO
- 单击“完成”。
- 你可以复制之前的脚本并在 SQL-Server Management Studio 上将其作为新查询执行,但我更喜欢从 Visual Studio 执行此操作。
- 单击 My FirstEPProject.edmx.sql
- 单击图标“执行”。
- 键入凭据以连接到你的数据库服务器。单击“连接”。
你刚刚将 EDM 导出到 SQL-Server 数据库。
在 SQL-Server 中,你可以看到以下模型
从数据库更新模型
想象一下,我们决定在 SQL-Server 数据库中的表 Client 中添加一列。 例如,添加了 Address 列。
如果我们想要在 EDM 中更新此更改
- 右键单击 EDM 设计模式,选择“从数据库更新模型”
- 选择“刷新”选项卡。单击“完成”。
在数据库中找到的项目将在模型中刷新。
属性 Address 出现在实体 Client 的末尾。