EF框架概述之Database First

简介

    EF是一种ORM的数据访问框架(Framework),它主要为程序员提供更轻松访问数据源的功能,并试着以ORM的架构让程序员不必为了编写SQL而费心。程序员只要会应用LINQ,就能很简单的查询SQL Server数据库,就不必特别为了访问数据库而去学习一堆SQL指令了。虽然前面只讲了SQL Server,但其实EF本身是具有扩展性的框架,只要其他数据库(例如Oracle、DB2等)按照EF所提供的接口实现出自己的SQL生成器与连接管理机制,就可以让EF支持不通的数据库。

EF支持的数据库
Microsoft SQL Server(含Express、Express LocalDb及Compact )
Oracle
MySql
IBM DB2、Informix与U2
Npgsql(PostgreSQL)
Sybase SQL Anywhere、Adaptive Server
SQLite
Synergy DBMS
Firebird
VistaDB

    对于初次使用EF的程序员,不建议直接从Code First或者Model First来入门,因为可能不知道要怎么用,最好的方式就是从Database First开始练习,尤其是ObjectContext<T>以及LINQ to Entities,之后若要联系自定义Model结构时,再使用Code First或Model First来实践。

步骤01

    首先,先新建一个控制台应用程序项目,然后新增一个ADO.NET实体数据模型,如下图:

步骤02

    点击添加按钮,选择“来自数据库的EF设计器”,表示要使用Database First,并且使用Entity Model Designer来编辑,单击下一步,进入设计数据库连接字符串的屏幕显示画面,如下图:

步骤03

    若还没有设置连接字符串,请单击“新建连接”按钮设置新的数据连接,如下图:

步骤04

    接着向导会要求选择要将哪些数据库对象加到Model中,选择表、视图及存储过程和函数的所有内容后,单击完成,如下图:

步骤05

    按“完成”按钮后,Visual Studio便会开始加入EF的程序包,以及自数据库中查询与导入数据库对象,最后打开EDM Designer,如下图:

    除了这个Designer外,还可以看看它生成了哪些文件,如下图:

这样就拥有访问数据库的模型了,只要编写简单的数据访问程序,就可以向数据库查询数据了。代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataBase_First
{
    class Program
    {
        static void Main(string[] args)
        {
            using (葫芦岛HBNetMonitorDBEntities context = new 葫芦岛HBNetMonitorDBEntities())
            {
                var query = from item in context.Det_Summary
                            select new
                            {
                                a = item.DetLsh,
                                b = item.DetTimes,
                                c = item.HPHM,
                            };
                foreach (var item in query)
                {
                    Console.WriteLine("检测流水号={0},检测次数={1},号牌号码={2}", item.a, item.b, item.c);
                    Console.ReadLine();
                }
            }
        }
    }
}

 
 



猜你喜欢

转载自blog.csdn.net/cgs_______/article/details/80449542