zoukankan      html  css  js  c++  java
  • net core体系-web应用程序-4asp.net core2.0 项目实战(1)-5项目数据库操作封装操作-EF框架

    EF框架有三种基本的方式:DB First(数据库优先),Model First(模型优先),Code First(代码优先)。

    Entity Framework4.1之前EF支持“Database First”和“Model First”编程方式,从EF4.1开始EF开始支持支持“Code First”编程方式,今天简单看一下EF三种编程方式。

    开始介绍这三种EF操作方式之前,首先在Visual Studio 2013中建立一个数据库连接,这里我们以“EFDemo”数据库为例:

    说明:在这里我用的是LenovoSQLEXPRESS这个数据库,当然用localdb也可以。 

    Database First

    “Database First”模式我们称之为“数据库优先”,前提是你的应用已经有相应的数据库,你可以使用EF设计工具根据数据库生成数据数据类,你可以使用Visual Studio模型设计器修改这些模型之间对应关系。

    首先创建一个控制台应用程序,然后右键添加新建项,选择“ADO.NET Entity Data Model”,名称输入EFDemoDB:

    接着选择从数据库生成:

    下一步选择数据库连接,选择我们刚刚建的EFDemo数据库。

    下拉框里没有,我们点击新建连接

    然后选择表

    创建完模型之后

    你会发现Visual Studio自动为你生成了“Class、“Student”两个实体类和一个“EFDemoDB”数据库上下文操作类:

    下面简单的看一下如何使用EF进行数据查询,通过下面的代码我们可以看到EF对于数据的操作入多么优雅:

    复制代码
    复制代码
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace EFDemo
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             EFDemoEntities db = new EFDemoEntities();
    14          
    15             //按照ID排序,并查找
    16             var model = db.Classes.OrderBy(m => m.ID).Select(m => new
    17             {
    18                 ID = m.ID,
    19                 Name = m.Name              
    20             });
    21 
    22             
    23             if(model.Count() > 0)
    24             {
    25                 Console.WriteLine("ID号:{0}", model.First().ID);
    26                 Console.WriteLine("班级名:{0}", model.First().Name);
    27             }
    28         }
    29     }
    30 }
    复制代码
    复制代码

    运行结果:

    注意:如果你的数据库表结构发生改变后,只需在模型设计视图空白处右键,选择“从数据库更新模型”接着按照向导操作即可。(如下图)

    IT黑马
  • 相关阅读:
    C++小项目:directx11图形程序(七):modelclass
    C++小项目:directx11图形程序(六):cameraclass
    C++小项目:directx11图形程序(五):shadersclass
    C++小项目:directx11图形程序(四):d3dclass
    C++小项目:directx11图形程序(三):graphicsclass
    C++小项目:directx11图形程序(二):systemclass
    舞台上加载一外部SWF,舞台如何调用该swf内部方法呢?
    as3绘制抛物线
    Unity常用代码总结
    C# ref和out区别介绍
  • 原文地址:https://www.cnblogs.com/hmit/p/10768313.html
Copyright © 2011-2022 走看看