随笔分类 -  EF

使用Entity Framework时要注意的一些性能问题
摘要:自从我用了EF,每次都很关心是否有潜在的性能问题。所以每次我写LINQ查询,都会使用SQL Profiler看一下实际生成的SQL语句,以便发现潜在的性能问题。也强烈建议大家这么去做,以免日后软件大了出了问题很难查。 一、只选择某列或某些列 有些时候,在C#里写LINQ虽然看着舒服,但性能不一定好, 阅读全文

posted @ 2016-05-18 22:56 大西瓜3721 阅读(138) 评论(0) 推荐(0) 编辑

博客园现代化建设—[Entity Framework]在LINQ查询中指定返回的字段
摘要:解决了Entity Framework跨数据库查询问题,博客园现代化建设又向前迈进了一步。 在之前的一篇随笔“ 博客园现代化建设——AutoMapper ”中曾谈到,我们所遇到的应用场景是数据库查询返回的字段数少于实体类的属性,而默认情况下Entity Framework根据实体类的属性进行映射的, 阅读全文

posted @ 2016-05-17 19:21 大西瓜3721 阅读(630) 评论(0) 推荐(0) 编辑

Entity Framework在WCF中序列化的问题
摘要:问题描述 如果你在WCF中用Entity Framework来获取数据并返回实体对象,那么对下面的错误一定不陌生。 接收对 http://localhost:5115/ReService.svc 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。 这还可能是由于服 阅读全文

posted @ 2016-05-16 01:01 大西瓜3721 阅读(244) 评论(0) 推荐(0) 编辑

Entity Framework Code First级联删除
摘要:如果我们要到一对主从表增加级联删除,则要在主表中的引用属性上增加Required关键字,如: public class Destination { public int DestinationId { get; set; } public string Name { get; set; } publ 阅读全文

posted @ 2016-05-16 00:58 大西瓜3721 阅读(196) 评论(0) 推荐(0) 编辑

EF Code First学习笔记:数据库创建
摘要:控制数据库的位置 默认情况下,数据库是创建在localhost\SQLEXPRESS服务器上,并且默认的数据库名为命名空间+context类名,例如我们前面的BreakAway.BreakAwayContext。 有几种方法可以改变这种默认约定。 利用配置文件 在配置文件中新加一个连接字符串 <co 阅读全文

posted @ 2016-05-16 00:58 大西瓜3721 阅读(142) 评论(0) 推荐(0) 编辑

EF Code First 学习笔记:表映射
摘要:多个实体映射到一张表 Code First允许将多个实体映射到同一张表上,实体必须遵循如下规则: 实体必须是一对一关系 实体必须共享一个公共键 观察下面两个实体: public class Person { [Key] public int PersonId { get; set; } public 阅读全文

posted @ 2016-05-16 00:56 大西瓜3721 阅读(213) 评论(0) 推荐(0) 编辑

EF Code First 学习笔记:约定配置
摘要:要更改EF中的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面;还有一个就是Fluent API,通过新增相应的配置类来覆盖默认配置。现在我们用这两个来对比了解EF中的约定配 阅读全文

posted @ 2016-05-16 00:48 大西瓜3721 阅读(231) 评论(0) 推荐(0) 编辑

Entity Framework 复杂类型
摘要:为了说明什么是复杂属性,先举一个例子。 public class CompanyAddress { public int ID { get; set; } public string CompanyName { get; set; } public string StreetAddress { ge 阅读全文

posted @ 2016-05-16 00:47 大西瓜3721 阅读(129) 评论(0) 推荐(0) 编辑

Entity Framework 数据生成选项DatabaseGenerated
摘要:在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity、None和Computed。 Identity:自增长 None:不处理 Computed:表示这一列是计算列。 在EF中,如果主键是int类型,Code First生 阅读全文

posted @ 2016-05-16 00:46 大西瓜3721 阅读(189) 评论(0) 推荐(0) 编辑

Entity Framework 并发处理
摘要:什么是并发? 并发分悲观并发和乐观并发。 悲观并发:比如有两个用户A,B,同时登录系统修改一个文档,如果A先进入修改,则系统会把该文档锁住,B就没办法打开了,只有等A修改完,完全退出的时候B才能进入修改。 乐观并发:同上面的例子,A,B两个用户同时登录,如果A先进入修改紧跟着B也进入了。A修改文档的 阅读全文

posted @ 2016-05-16 00:45 大西瓜3721 阅读(187) 评论(0) 推荐(0) 编辑

EF Code First 学习笔记:关系
摘要:一对多关系 项目中最常用到的就是一对多关系了。Code First对一对多关系也有着很好的支持。很多情况下我们都不需要特意的去配置,Code First就能通过一些引用属性、导航属性等检测到模型之间的关系,自动为我们生成外键。观察下面的类: public class Destination { pu 阅读全文

posted @ 2016-05-16 00:43 大西瓜3721 阅读(160) 评论(0) 推荐(0) 编辑

Entity Framework Code First关系映射约定
摘要:Entity Framework Code First关系映射约定 本篇随笔目录: 1、外键列名默认约定 2、一对多关系 3、一对一关系 4、多对多关系 5、一对多自反关系 6、多对多自反关系 在关系数据库中,不同表之间往往不是全部都单独存在,而是相互存在关联的。两个不同表之间可以存在外键依赖关系, 阅读全文

posted @ 2016-05-15 01:34 大西瓜3721 阅读(559) 评论(0) 推荐(0) 编辑

LINQ,EF联合查询join
摘要:[html] view plain copy from v in Pdt_Versions join t in Tb_TypeDics on v.TypeName equals t.TypeName into ignored from i in ignored.DefaultIfEmpty() wh 阅读全文

posted @ 2016-05-13 16:57 大西瓜3721 阅读(556) 评论(0) 推荐(0) 编辑

EF Code First Migrations数据库迁移
摘要:1、EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework。 在程序包管理器控制台中执行以下语句,安装EntityFramework。 安装成功后,界面提示如下图: 在新建的Portal控制台应用程序中添加两个实体类,代码结构如 阅读全文

posted @ 2016-05-10 17:38 大西瓜3721 阅读(186) 评论(0) 推荐(0) 编辑

Entity Framework中的Migration问题
摘要:1、自从用上了Entity Framework(简称EF),妈妈再也不用担心我要写那么复杂的SQL语句了! 这是微软新一代的ORM工具,它能够将数据库的表中的记录映射成为程序中的一个对象,当然也能够将对象映射为数据库中的一条记录。 它支持三种模式Model First、Database First、 阅读全文

posted @ 2016-05-10 09:12 大西瓜3721 阅读(559) 评论(0) 推荐(0) 编辑

http://www.cnblogs.com/youfan/articles/3216816.html
摘要:我对 CodeFirst 的理解,与之对应的有 ModelFirst与 DatabaseFirst ,三者各有千秋,依项目实际情况自行选择。 1、开发过程中先行设计数据库并依此在项目中生成 *.dbml 或是 *.edmx 文件的,就是DatabaseFirst; 2、开发时先建立空的 *.edmx 阅读全文

posted @ 2016-05-10 08:57 大西瓜3721 阅读(372) 评论(0) 推荐(0) 编辑

linq里面似in的查询
摘要:1.linq里面似in的查询 List<string> source = new List<string>{ "aaa", "bbb" }; List<string> px = new List<string> { "aaa", "bbb", "ccc" }; var q = from s in s 阅读全文

posted @ 2016-05-09 23:41 大西瓜3721 阅读(189) 评论(0) 推荐(0) 编辑

提示13. 附加一个实体的简单方式
摘要:提示13. 附加一个实体的简单方式 问题: 在早先的一些提示中,我们讨论了使用Attach来加载一个处于未改变(unchanged)状态的东西到ObjectContext从而避免进行查询的开销。 如果性能是你的目标,Attach就是要选择的武器。 不幸的是我们的API不能适应99%的情况,即每个类型 阅读全文

posted @ 2016-05-08 01:57 大西瓜3721 阅读(232) 评论(0) 推荐(0) 编辑

提示20. 怎样处理固定长度的主键
摘要:提示20. 怎样处理固定长度的主键 这是正在进行中的Entity Framework提示系列的第20篇。 固定长度字段填充: 如果你的数据库中有一个固定长度的列,例如像NCHAR(10)类型的列,当你进行一次插入时,填充会自动发生。所以例如如果你插入'12345',你将得到5个自动填充的空格,来创建 阅读全文

posted @ 2016-05-08 01:56 大西瓜3721 阅读(389) 评论(0) 推荐(0) 编辑

提示29. 怎样避免延迟加载或Load()阅读器问题
摘要:提示29. 怎样避免延迟加载或Load()阅读器问题 如果你有如下这样的代码: 这段代码将会打开2个同步的阅读器。一个枚举Customers,另一个枚举当前Customer的Orders。并且仅当 Multiple Active ResultSets(又称MARS)启用时才可用。所以如果MARS未启 阅读全文

posted @ 2016-05-08 01:54 大西瓜3721 阅读(224) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示