Linq实战 之 Linq to Sql及Entity Framework操作详解
Linq实战 之 Linq to Sql及Entity Framework操作详解
一:linq to db的框架
1. linq to sql
2. linq to ado.net entity framework
linq to sql是一个团队
ef 是一个团队。。。
linq to sql => ef 团队。
linq to sql 适合一些小型的项目 => sqlserver
ef 适合中形的项目,而且可以支持 sqllite,mysql,sqlserver
掌柜的项目开发中:使用的还是 单纯的 ADO.Net 纯sql,项目做大了,我们需要分库分表,这时候ef不好处理。
二:linq to sql框架
1. vs 设计器给我们自动生成了 访问数据库的代码
2.特点:我们的Context类是继承于DataContext
<1> 其实所有的数据库操作都是DataContext这个类来完成。
<2> linq to sql需要将实体和表的字段通过Attribute进行一一对应。
<3> 它的操作是Table<T>
public class Program
{
static void Main(string[] args)
{
DatamipDataClassDataContext context = new DatamipDataClassDataContext();
//context.Product.InsertOnSubmit(new Product()
//{
// ProductID = 7,
// ProductName = "商品7"
//});
//context.SubmitChanges();
//关联表查询
//var query = from p in context.Product
// join o in context.Order
// on p.ProductID equals o.ProductID
// select new { ProductID = p.ProductID, OrderTitle = o.OrderTitle };
//var list = query.ToList();
}
}
三:EF
1. 它是一个继承于DbContext的类,那么这里封装了一下对数据库的操作。
2. 对表的操作是DbSet<T>类
3. 我们发现ef还是比较智能的,如果我的linq语句是两表关联,而从profile中可以看到它其实只用了一张表查询。
Linq实战 之 Linq to Sql及Entity Framework操作详解的更多相关文章
- [转]C#综合揭秘——Entity Framework 并发处理详解
本文转自:http://www.cnblogs.com/leslies2/archive/2012/07/30/2608784.html 引言 在软件开发过程中,并发控制是确保及时纠正由并发操作导致的 ...
- Entity Framework实例详解
Entity Framework Code First的默认行为是使用一系列约定将POCO类映射到表.然而,有时候,不能也不想遵循这些约定,那就需要重写它们.重写默认约定有两种方式:Data Anno ...
- 转:【工欲善其事必先利其器】—Entity Framework实例详解
开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...
- C#综合揭秘——Entity Framework 并发处理详解
引言 在软件开发过程中,并发控制是确保及时纠正由并发操作导致的错误的一种机制.从 ADO.NET 到 LINQ to SQL 再到如今的 ADO.NET Entity Framework,.NET 都 ...
- 【迁移】—Entity Framework实例详解 转
一.Entity Framework 迁移命令(get-help EntityFramework) Enable-Migrations 启用迁移 Add-Migration 为挂起的Model变化添加 ...
- 【迁移】—Entity Framework实例详解
好久没有在博客园更新博客了,如今都换了新公司.前段时间写了关于EF迁移的文档,今天拿出来作为这个系列的一篇吧. 一.Entity Framework 迁移命令(get-help EntityFrame ...
- 【配置属性】—Entity Framework实例详解
Entity Framework Code First的默认行为是使用一系列约定将POCO类映射到表.然而,有时候,不能也不想遵循这些约定,那就需要重写它们.重写默认约定有两种方式:Data Anno ...
- —Entity Framework实例详解
Entity Framework Code First的默认行为是使用一系列约定将POCO类映射到表.然而,有时候,不能也不想遵循这些约定,那就需要重写它们.重写默认约定有两种方式:Data Anno ...
- 【配置关系】—Entity Framework实例详解
实体间的关系,简单来说无非就是一对一.一对多.多对多,根据方向性来说又分为双向和单向.Code First在实体关系上有以下约定: 1. 两个实体,如果一个实体包含一个引用属性,另一个实体包含一个集合 ...
随机推荐
- Tkinter Relief styles(样式)
Tkinter Relief styles: 构件的浮雕式是指某些模拟的3-D周围的部件外的影响.下面是一排按钮的屏幕截图展示了所有可能的救济风格 构件的浮雕式是指某些模拟的3-D周围的部件外 ...
- krpano资源下载及还原全景图
krpano资源下载及还原全景图 现在全景云平台有大量的全景图资源,就存在了如何下载的需求. 原理:1.云平台多数使用krpano内核,首先需要将全景云平台中被krpano切成的全景图碎片下载下来,并 ...
- delphichromiumembedded
Delphi封装的google浏览器内核,使用他可以摆脱ie内核的webbrowser的种种限制 http://download.csdn.net/download/ozhy111/5904995 屏 ...
- MySQL系统时间函数NOW(),CURRENT_TIMESTAMP(),SYSDATE()的区别
CURRENT_TIMESTAMP是NOW的同义词,也就是说两者是相同的. SYSDATE函数返回的是执行到当前函数时的时间,而NOW返回的是执行SQL语句时的时间. 测试语句: SELECT NOW ...
- js 的 defer 和async属性
添加defer延迟属性,脚本将立即下载,但会延迟到整个页面解析完毕后按顺序执行.会先于DOMContentLoaded事件执行. 添加async异步属性,脚本将立即下载,执行时不会等待其他脚本,不一定 ...
- kibana-4.6.3-linux-x86_64.tar.gz的安装(图文详解)(升级)
前期博客 kibana-4.6.3-linux-x86_64.tar.gz的下载(图文详解) 因为,我的机器情况是如下: 1.上传 [hadoop@master app]$ rz [hadoop@m ...
- 用django框架开发一个B2C购物网站的基本流程和用到的知识点总结1
开发流程 开发模式采用前后端分离模式,作为后端开发人员我们只关注后端业务逻辑开发: 省略项目框架搭建文件的配置部分.... 一:用户部分 在项目开发中我们要用到用户模型类User,Django认证系统 ...
- 前端开发之JavaScript基础篇二
主要内容: 1.流程控制条件语句和switch语句 2.for循环和while循环 3.Break语句和Continue语句 4.数组和数组常用方法 5.函数 6.对象 一.流程控制条件语句和swit ...
- 网络编程-socket开发
练习: 1.什么是C/S架构? 2.互联网协议是什么?分别介绍五层协议中每一层的功能? 3.基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 4.为何基于tcp协议的通信比基于u ...
- 使用RampTexture来控制diffuse shading
[RampTexture] RampTexture(渐变纹理),可以是1D/2D纹理. This allows you to accentuate the surface's colors to fa ...