• 【翻译】EF 4.2 Model & Database First演示


    一、创建应用程序

    为了使问题简单,我们建立一个基本的控制台应用程序,使用DbContext执行数据访问:

    1. 打开Visual Studio 2010

    2. File -> New -> Project…

    3. 从左侧菜单中选择"Windows",然后选择"Console Application"

    4. 输入"ModelFirstSample"作为名字

    5. 选择"OK"

    二、创建模型

    1. 让我们继续,在项目中添加一个Entity Data Model:

    2. Project –> Add New Item…

    3. 从左侧菜单选择"Data"

    4. 从可用项目列表中选择"ADO.NET Entity Data Model"

    5. 命名为"PersonModel.edmx"

    6. 单击"Add"

    本次演示使用Model First,但是如果要映射到一个现有的数据库,那么选择"Generate from database",根据提示操作,然后跳到步骤四。

    7. 选择"Empty model"

    8. 单击"Finish"

    让我们往模型中添加一个Person实体:

    9. 在设计器上右击  –> Add –> Entity

    10. 命名实体为"Person"

    11. 单击"OK"

    12. 在Person实体上右击–> Add –> Scalar Property

    13. 命名属性为"FullName"

    三、创建数据库

    现在我们已经定义了模型,接下来我们就可以生成数据库架构存储数据了:

    1. 右击 –> Generate Database from Model

    2. 单击"New Connection…"

    3. 在Select or enter a database name中输入"ModelFirstSample"

    连接属性

    4. 在提示创建数据库对话框中选择"是"

    QQ截图20111116171900

    5. 单击"Next",然后"Finish"

    6. 在生成的脚本上,右击 –> Execute SQL…

    7. 指定你的数据库服务器,然后单击"Connect"

    四、DbContext代码生成

    PersonModel通常派生自ObjectContext,实体类派生自EntityObject,但是我们想使用简化的DbContext API。

    使用DbContext,我们需要安装EntityFramework NuGet包:

    1. Project –> Add Library Package Reference…

    2. 选择"Onlie"选项卡

    3. 搜索"EntityFramework"并选择该包

    4. 点击"Install"

    另一种方法是在Package Manager Console中输入"Install-Package EntityFramework"安装。

    安装EntityFramework 4.2

    现在可以使用DbContext代码生成模板了:

    1. 在设计器上右击–> Add Code Generation Item…

    2. 在左侧菜单中选择"Online Templates"

    3. 搜索"DbContext"

    QQ截图20111116175857

    你会注意到有两个项添加到你的项目中:

    PersonModel.tt
    这个模板为模型中的每个实体生成非常简单的POCO类

    PersonModel.Context.tt
    这个模板生成一个派生自DbContext的类,用来查询和持久化数据

    五、读写数据

    是时候访问一些数据了。代码在Program文件中的Main方法中,如下:

    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new PersonModelContainer())
            {
                // Save some data 
                db.PersonSet.Add(new Person { FullName = "Bob" });
                db.PersonSet.Add(new Person { FullName = "Ted" });
                db.PersonSet.Add(new Person { FullName = "Jane" });
                db.SaveChanges();
                // Use LINQ to access data 
                var people = from p in db.PersonSet
                             orderby p.FullName
                             select p;
                Console.WriteLine("All PersonSet:");
                foreach (var person in people)
                {
                    Console.WriteLine("- {0}", person.FullName);
                }
                // Change someones name 
                db.PersonSet.First().FullName = "Janet";
                db.SaveChanges();
            }
            Console.WriteLine("Press any key to exit...");
            Console.ReadKey();
        }
    }

     

    总结

    在这个演示中,我们使用DbContext API进行Model First开发。我们创建了一个模型,生成了数据库,交换DbContext代码生成以及保存和查询数据。

    原文:EF 4.2 Model & Database First Walkthrough

  • 相关阅读:
    Android 学习笔记之WebService实现远程调用+内部原理分析...
    Android学习笔记之Json的使用....
    Android学习笔记之DocumentBuilder的使用....
    Android学习笔记之ExecutorService线程池的应用....
    Android学习笔记之SoftReference软引用...
    windows系统获取进程的pid号并终止
    Linux系统的时间比北京时间慢12个小时的处理方案(将EDT时区改为CST)
    将java的jar包作为windows的服务来启动
    linux初始化shell脚本
    linux中网络部分的总结
  • 原文地址:https://www.cnblogs.com/nianming/p/2251599.html
Copyright © 2020-2023  润新知