• Entity Framework(EF的Database First方法)


    EntityFramework,是Microsoft的一款ORM(Object-Relation-Mapping)框架。同其它ORM(如,NHibernate,Hibernate)一样,

    一是为了使开发人员以操作对象的方式去操作关系型数据表。

    二是为了屏蔽底层不同厂商的数据库,开发人员面向ORM框架编写数据的CRUD(Create,Retrieve,Update,Delete)操作,再由ORM框架将这些操作翻译成不同数据库厂商的语言。

    从EF 4.X开始支持三种构建方法:1. Database First方法。2.Model First方法。3.Code First 方法。

    本次测试以Visual Studio2013 / MS Sql Server2012 / Entity Framework 6.X 测试EF 

    Database First Demo

    1:打开SQLServer2012,使用下面SQL文本创建MyFirstEF数据库及CustomerInfo/OrderInfo表格

    create database MyFirstEF
    on primary
    (
        name='MyFirstEF.mdf',
        --修改为自己电脑上SQL DB路径
        filename='D:yangZ_MSSQLMyFirstEF.mdf',
        size=5mb,
        maxsize=100mb,
        filegrowth=10%
    )
    log on
    (
        name='MyFirstEF_log.ldf',
        --修改为自己电脑上SQL DB路径
        filename='D:yangZ_MSSQLMyFirstEF_log.ldf',
        size=2mb,
        maxsize=100mb,
        filegrowth=5mb
    )
    go
    
    use MyFirstEF
    go
    
    create table CustomerInfo
    (
        id int identity(1,1) primary key,
        customerName nvarchar(100) not null,
        customerDate datetime
    )
    go
    
    create table OrderInfo
    (
      id int identity(1,1) primary key,
      orderName nvarchar(100),
      customerId int
    )
    go
    
    alter table OrderInfo
    add constraint FK_OrderInfo_CustomerInfo foreign key(customerId) references CustomerInfo(id)
    go
    
    insert into CustomerInfo 
    select 'aa',GETDATE() union all
    select 'bb',GETDATE() union all
    select 'cc',GETDATE() union all
    select 'dd',GETDATE() 
    go
    
    insert into OrderInfo
    select 'bike1',2 union all
    select 'bike2',2 union all
    select 'car1',3 union all
    select 'car2',3 union all
    select 'chezi1',4 union all
    select 'chezi2',4 
    go
    
    select * from CustomerInfo
    go
    
    select * from OrderInfo
    go
    --create SQL

    2:新建ConsoleApplication应用程序

    3:在EFDataBaseFirstDemo上 右键-->新建-->新建项-->数据-->ADO.NET实体数据模型,选择从数据库生成(Database First)

    选择数据库,用户名,密码等,这和普通的链接数据库操作一样,最后生成的配置文件会保存在App.config文件中

    点击下一步,选择数据库表格,这里我们选择CustomerInfo 和OrderInfo表格,勾选[确定所生成对象名称的单复数形式][在模型中包含外键列]

    模型命名空间可以修改为自己需要的,这里我使用默认的模型命名空间

    点击完成,可能会出现以下警告,直接点击[确定],生成的EF实体图本质是xml

    EF实体图,这时候记得点击保存按钮(Ctrl+S),保存生成的EF实体图

    最后整个项目源码结构如下图所示:

    最后在ConsoleApplication中做一个简单的查询Demo

    DbContext context = new MyFirstEFEntities();
    
    var rows = context.Set<CustomerInfo>().Select(c => c.customerName);
    foreach (var row in rows)
    {
        Console.WriteLine(row);
    }
    Console.WriteLine("Database First Finish");
    Console.ReadKey();

    PS:使用EF Database First时,若修改数据库表结构,或者字段,需要在**.edmx中做如下操作,然后点击保存

     

  • 相关阅读:
    iOS开发_广告接入
    iOS开发_项目中一次性屏蔽打印多余内容的方法
    iOS开发_屏蔽第三方库FFmpeg的日志输出
    iOS开发_应用项目的架构选型
    iOS开发_多线程_基础知识点
    Xcode13 新建项目后找不到Products目录怎么办?
    Linux教程
    iOS Invalid App Store Icon The App Store Icon can't be transparent nor contain an alpha channel
    FastReport打印DataTable
    windows服务
  • 原文地址:https://www.cnblogs.com/DrHao/p/5367147.html
Copyright © 2020-2023  润新知