65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.88/5 (4投票s)

2017年5月4日

CPOL

4分钟阅读

viewsIcon

26449

我将通过从 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 窗体应用程序”,如下所示

点击“确定”。

在我们的解决方案中创建一个新项目

  1. 右键单击解决方案名称,选择 添加 => 新建项目。
  2. 选择类库,键入名称,然后单击“确定”。

创建实体数据模型

我们将要创建实体数据模型。按照以下步骤操作

  1. 右键单击项目名称,选择 添加 => 新建项。
  2. 从左侧面板中选择“数据”选项卡,然后选择“ADO.NET 实体数据模型”。
  3. 将其重命名为MyFirstEFProject.edmx。单击“添加”。
  4. 在实体数据模型向导中选择“空 EF 设计器模型”。单击“完成”。

如果你已成功按照上述步骤操作,你将在设计模式下看到你的 EDM。

添加新实体

  1. 右键单击 EDM 设计模式,选择 添加新项 => 实体...
  2. 填写文本框,如下所示

  3. 点击“确定”。

    你创建了一个名为Client的实体,其属性名称为IdClient。换句话说,你创建了一个实体,它将成为名为 Client 的**表**,其**主键**为IdClient

添加新属性

在这一点上,我们将看到如何将属性添加到我们的实体。请注意,这些属性稍后将成为表中的新字段。

  1. 右键单击实体 Client,选择 添加新项 => 标量属性。
  2. 填写解决方案资源管理器的“属性”窗口,如下所示

    注意:在本例中,实体键属性为 false,因为这是一个简单的字段,并且在IdClient上为 true,因为这将是我们的主键。

  3. 重复步骤 1 和 2 并创建名为的新标量属性
    • LastName
    • NIF
    • 电话

如果你已成功按照上述步骤操作,你将以这种方式看到你的 EDM

我们刚刚在 Visual Studio 中创建了一个简单的 EDM。

将实体数据模型导出到 SQL-Server 数据库

我们将要将我在上一步中创建的实体数据模型导出到 SQL-Server 数据库

  1. 打开 SQL Server Management Studio。
  2. 右键单击“数据库”,选择“新建数据库”
  3. 在数据库名称上键入MyFirstEF。单击“确定”。
  4. 我们将要从 Visual Studio 设置数据库的连接属性
  5. 右键单击 EDM 设计模式,选择“从模型生成数据库”
  6. 单击“新建连接”
  7. 在“服务器名称”字段中键入你的 SQL-Server 主机名。
  8. 在字段“选择或输入数据库名称”中选择你在步骤 3 中创建的数据库。单击“确定”。

  9. 单击“下一步”。
  10. 选择你使用的 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

  11. 单击“完成”。
  12. 你可以复制之前的脚本并在 SQL-Server Management Studio 上将其作为新查询执行,但我更喜欢从 Visual Studio 执行此操作。

  13. 单击 My FirstEPProject.edmx.sql
  14. 单击图标“执行”。

  15. 键入凭据以连接到你的数据库服务器。单击“连接”。

你刚刚将 EDM 导出到 SQL-Server 数据库。

在 SQL-Server 中,你可以看到以下模型

从数据库更新模型

想象一下,我们决定在 SQL-Server 数据库中的表 Client 中添加一列。 例如,添加了 Address 列。

如果我们想要在 EDM 中更新此更改

  1. 右键单击 EDM 设计模式,选择“从数据库更新模型”
  2. 选择“刷新”选项卡。单击“完成”。

在数据库中找到的项目将在模型中刷新。

属性 Address 出现在实体 Client 的末尾。

© . All rights reserved.