Entity Framework 6.1-Database First介绍

原文:Entity Framework 6.1-Database First介绍

这种方式是比较传统的以数据库为核心的开发模式。比较适合有数据库DBA的团队、或者数据库已存在的情况。

优缺点:

1、优点:编辑代码最少的方式,在有完整的数据库的前提下,你几乎可以不编辑任何代码就能完成应用程序的数据层部分(EF)。

2、不够灵活,域模型结构完全由数据库控制生成,结构不一定合理;受数据库表和字段名影响,命名不规范。

创建步骤:1.在程序中新建DAL文件夹(或者单独创建DAL工程),

2.DAL文件夹点右键,选择添加->新建项。打开新建项界面,在界面中选择数据->ADO.NET实体数据模型。数据模型更名为TestEF.edmx,打开实体模型创建向导。

3.选择从数据库生成

4.选择数据库连接(没有可以新建一个),点下一步

5.可以选择所有的表、视图和存储过程和函数。

可选的确定生成对象名称的单复数形式,选中后如果数据库表是负数形式,比如Books,创建的对应对象名就是Book,如果不选,则对应对象名是Books。

6.点击完成,生成EF的数据模型

7.测试代码

static void Main(string[] args)

{

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<Entities>());

Contact con = new Contact

{

Name = "hht"

};

Contact con2 = new Contact

{

Name = "zhansan"

};

var list = new List<Contact>();

list.Add(con);

list.Add(con2);

CGroup group = new CGroup

{

Contacts = list,

GName = "Master Group"

};

using (Entities db = new Entities())

{

db.CGroups.Add(group);

db.SaveChanges();

foreach (CGroup item in db.CGroups)

{

var cons = item.Contacts;

Console.WriteLine("Group:" + item.GName + "  have Contact " + cons.Count() + " 个");

db.CGroups.Remove(item);

}

db.SaveChanges();

}

}

输出结果

数据库

OK,插入数据成功

时间: 2024-07-29 19:46:31

Entity Framework 6.1-Database First介绍的相关文章

动态Entity Framework查询:Dynamic Query 介绍

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 Dynamic Query是一个支持动态Entity Framework查询的库.它的设计初衷是为了减少在管理系统中大量出现的对一个数据集进行查找.排序.分页的这类场景的开发工作量,其设计思想是"markup is code ".通过

Entity Framework系列之DataBase First

第一步 新建数据库和表 USE [TestDB] GO /****** Object: Table [dbo].[T_User] Script Date: 01/14/2015 20:27:52 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[T_User]( [Id] [int] IDENTITY(1,1) NOT NULL, [Name] [nvarchar](50) NULL, [Pa

Entity Framework自用的DataBase基类

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using Model; 6 using System.Data.Objects.DataClasses; 7 8 namespace Work 9 { 10 public class DataBase<T> where T : EntityObject 11 { 12 protected OfficeA

Entity Framework Database First

Entity Framework > Get Started > Database First 必备条件 要完成本演练,需要安装 Visual Studio 2010 或 Visual Studio 2012. 如果使用的是 Visual Studio 2010,还需要安装 NuGet. 1.创建现有数据库 通常情况,是面向一个已创建的现有数据库,但在本演练中,我们需要创建一个数据库进行访问. 随 Visual Studio 安装的数据库服务器根据所安装的 Visual Studio 的版本而

第三篇:Entity Framework CodeFirst &amp; Model 映射 续篇 EntityFramework Power Tools 工具使用

上一篇 第二篇:Entity Framework CodeFirst & Model 映射 主要介绍以Fluent API来实作EntityFramework CodeFirst,得到了大家一些支持,其中就有一位同学就提出.熟悉了EntityFramework CodeFirst 原理,就可以用微软的工具来生产代码.是的,今天就来讲一下,由微软EntityFramework小组开发的为EntityFramework CodeFirst Visual Studio小插件 “Entity Frame

Entity Framework 6 Recipes 2nd Edition(13-3)译 -&gt; 为一个只读的访问获取实体

问题 你想有效地获取只是用来显示不会更新的操作的实体.另外,你想用CodeFirst的方式来实现 解决方案 一个非常常见行为,尤其是网站,就是只是让用户浏览数据.大多数情况下,用户不会更新数据.在这种情况下,你可以通过避开上下文的缓存和修改跟踪来提高代码性能,你可以非常简单地使用AsNoTracking方法来实现. 让我们假设你一个应用程序来管理doctor(医生)的appointments(预约),你的模型如下图Figure 13-5. Figure 13-5. A model for man

Entity Framework 6 Recipes 2nd Edition(13-4)译 -&gt; 有效地创建一个搜索查询

问题 你想用LINQ写一个搜索查询,能被转换成更有效率的SQL.另外,你想用EF的CodeFirst方式实现. 解决方案 假设你有如下Figure 13-6所示的模型 Figure 13-6. A simple model with a Reservation entity            首先,这个例子用EF的CodeFirst方式实现,在Listing 13-10,我们创建实体类Reservation Listing 13-10. The Reservation Entity Obje

Entity Framework 6 Recipes 2nd Edition(13-2)译 -&gt; 用实体键获取一个单独的实体

问题 不管你用DBFirst,ModelFirst或是CodeFirst的方式,你想用实体键获取一个单独的实体.在本例中,我们用CodeFirst的方式. 解决方案 假设你有一个模型表示一个Painting(绘画)类型的实体,如Figure 13-2所示: Figure 13-2. The Painting entity type in our model 在代码In Listing 13-2,我们创建实体类Painting. public class Painting { public str

Entity Framework 6 Recipes 2nd Edition(13-5)译 -&gt; 使POCO的修改追踪更高

问题 你正在使用POCO,你想提高修改跟踪的性能,同时使内存消耗更少.另外,你想通过EF的CodeFirst方式来实现. 解决方案 假设你有一个关于Account(帐户)和相关的Payments(支付)的模型,如Figure 13-7 Figure 13-7. A model with an Account entity and a related Payment   首先,本例用EF的CodeFirst方式实现,在Listing 13-16,我们创建实体类:Account和Payment.为达

Entity Framework 6 学习笔记2 — 增、删、改、显示简单代码示例

前言 通过 “Entity Framework 6 学习笔记1 — 介绍和安装方法”文章我相信大家对EF的安装应该没什么问题了,整体安装还是比较简单的,只需要通过Nuge搜索EF然后安装就可以了,这也体现了微软一贯原则–“简单”. 安装完了我想很多朋友也着急想体验下EF的好处了吧,今天我就通过EF框架对增.删.改操作做一个简单示例. 创建表 这里我只是做示例所以就创建了一个表并且字段也很少.下面是sql语句,大家可以直接复制生成表结构.   CREATE TABLE Book   (   Id