EF4.1使用
EF分为三类:
db first:首先建立数据库,然后通过ADO.Net Entity Data Model项目建立.edmx文件,这是一个xml文件主要作用就是映射类和数据表
model first:首先建立.edmx文件,映射类和数据表的关系,然后生成代码
code first:首先写代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象
这里主要介绍code first方法:
首先下载http://www.microsoft.com/en-us/download/confirmation.aspx?id=8363 EF 4.1
和EF 4.x DbContext 具体在vs2010->工具->扩展管理器->联机库->搜索EF 4.x DbContext
主要优点:
1.在不使用设计器或者定义一个 XML 映射文件的情况下进行开发。
2.允许编写简单的模型对象POCO (plain old classes),而不需要基类。
3.通过"约定优于配置",使得数据库持久层不需要任何的配置
4.也可以覆盖"约定优于配置",通过流畅的 API 来完全定制持层的映射。
5.添加实体类不需要使用基类和特性等代码
简单的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
namespace EFDemo
{
class Program
{
static void Main(string[] args)
{
using (var db = new BlogDbContext())
{
var blogUser = new BlogUser() { BlogUserId = 1, BlogName = "e" };
db.BlogUsers.Add(blogUser);
var post = new Post()
{
PostId = 1,
PostTitle = "123",
BlogUserId = 1
};
db.Posts.Add(post);
int recordAffected = db.SaveChanges();
Console.WriteLine("追加{0}记录成功", recordAffected);
}
}
}
public partial class BlogUser
{
public int BlogUserId { get; set; }
public string BlogName { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
public partial class Post
{
public int PostId { get; set; }
public string PostTitle { get; set; }
public int BlogUserId { get; set; }
public virtual BlogUser BlogUser { get; set; }
}
public class BlogDbContext : DbContext
{
public IDbSet<BlogUser> BlogUsers { get; set; }
public IDbSet<Post> Posts { get; set; }
}
}
EF4.1使用的更多相关文章
- 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例
在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例 (2012-03-13 10:12:48) 转载▼ public ActionResu ...
- EF How to use context.Set and context.Entry, which ships with EF4.1 ?
How to use context.Set and context.Entry, which ships with EF4.1 ? Hello, I am trying to implement a ...
- mvc4.0添加EF4.0时发生编译时错误
解决此问题是因为MVC4.0默认未添加EF4.0的引用,EF4.0引用的是System.Data.Entity.dll, Version=4.0.0.0, 解决办法: 在web.config文件sys ...
- Entity Framework4.0 (一)概述(EF4 的Database First方法)
转自:http://www.cnblogs.com/marksun/archive/2011/12/15/2289582.html Entity Framework4.0(以后简称:EF4),是Mic ...
- [转]Entity Framework4.0 (七) EF4的存储过程
本文转自:http://www.cnblogs.com/marksun/archive/2011/12/21/2296500.html 前面了解了EF4的CRUD的操作,你会发现EF4使用起来比较简单 ...
- EF4.1之贪婪加载和延迟加载
默认情况下,EF4.1是只查询到涉及到的数据对象,但是EF4.1支持两种方法进行控制其加载: 1.贪婪加载 2.延迟加载 使用的表还是上次使用的Order 和 OrderDetails两张表来举例说明 ...
- Entity Framework4.0 (六) EF4的 增加、删除、更改
前面介绍了EF4的查询功能,主要是借助于LINQ的强大的查询功能和它简单的语法.让我们可以完全面向对象集体去进行查询,而不必去劳心处理那些关系型数据库表的操作.这样我们更容易把主要精力集中在业务逻辑上 ...
- EF4.0和EF5.0增删改查写法区别
1 public T AddEntity(T entity) 2 { 3 //EF4.0的写法 4 添加实体 5 //db.CreateObjectSet<T>().AddObject(e ...
- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
EF4.0和EF5.0增删改查的写法区别 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>(). ...
- EF4.1之Code first 的几种连接数据库的方式
通过代码 进行连接和创建数据库的方法主要分为两种: 1.使用用连接字符串(在配置文件里面): 连接字符串: <add name="DbEntities" connection ...
随机推荐
- PHP代码实用片段
一.黑名单过滤 function is_spam($text, $file, $split = ':', $regex = false){ $handle = fopen($file, 'rb'); ...
- 修改phpcms会员登录后头部登陆条的会员名称不带括号
phpcms会员登录后显示会员名称是带括号的,现在把他修改成不带括号. 找到函数库libs/functions/global.func.php,修改如下即可: function get_nicknam ...
- 关于as3调用js报“null为空或不是对象”错误
主要原因是:flash插件的object对象无ID属性. 顺便说下as3调用js的方法. as3引用: import flash.external.ExternalInterface; as3中调用 ...
- lua判断表中数据是否连续,0可以代表任何数
最近看到有lua面试题,挺有意思的,一张表中有若干个数,0可以代表任何数 比如有张表{9, 2, 4, 1, 3, 0, 0, 0, 0},按照规则这张表中的四个0可以用来代表5,6,7,8,那么这张 ...
- IPv6实验准备
这篇是我的第一篇博客,我想先对H3C的<IPv6技术>的实验部分进行实验和总结,欢迎评论转载. 本实验用的网路设备模拟器是HCL_7.1.59,hcl的这款模拟器非常耗费内存,各种报错,因 ...
- OpenGL法向量变换
OpenGL光照开启时,法向量用于决定特定顶点或面上接受到光照的多少.光照处理过程作用于观察坐标空间,因此,模型对象坐标系的法向量也需要使用GL_MODELVIEW矩阵变换到观察坐标系. 然而,法向量 ...
- C#子类调用基类构造备忘
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace First ...
- 4G基站如何查询
例如:4600125086016801代码断码如下断:46001(营运商代码) 2508(十进位制9480,CGI代码,CGI相当于是4G的LAC) 6016801(十进位制100755457,eN ...
- 安卓界面控件屏幕居中Layout例子
经典的登录界面例子: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...
- ETL利器Kettle实战应用解析系列二 【应用场景和实战DEMO下载】
本文主要阅读目录如下: 1.应用场景 2.DEMO实战 3.DEMO下载 1.应用场景 这里简单概括一下几种具体的应用场景,按网络环境划分主要包括: 表视图模式:这种情况我们经常遇到,就是在同一网络环 ...