这篇文章写的很好: http://diaosbook.com/Post/2012/12/9/performance-issue-in-select-one-or-few-colums-via-entityframework…
http://diaosbook.com/Post/2012/12/9/performance-issue-in-select-one-or-few-colums-via-entityframework Edi_Wang 2012-12-9 星期日 19:10 自从我用了EF,每次都很关心是否有潜在的性能问题.所以每次我写LINQ查询,都会使用SQL Profiler看一下实际生成的SQL语句,以便发现潜在的性能问题.也强烈建议大家这么去做,以免日后软件大了出了问题很难查. 一.只选择某列或某些…
         在使用Entity Framework时,如果数据库中有两个表是一对多或者是多对多的关系,那么生成的实体类中就有一个导航属性.这个导航属性前面都加上了一个virtual关键字.这个virtual关键字代表这个属性的值在运行时,是延迟加载的.我们可以在Context里面关闭掉这个延迟加载的特性.          如果一个实体类有这个导航属性,并且有virtual关键字.不管你是不是启用了延迟加载,在进行序列化的时候,都会为这个延迟属性所在的类生成一个代理类,这个代理类是真正实体…
原文地址:http://www.it165.net/pro/html/201210/3932.html 最近开始研究Web API,运气不错第一个测试项目就遇到问题@@-当新增Control时选择[API Controller woth read/write actions, using Entity Framework]然后使用Northwnd数据库,数据表选择Orders,Order_Details,Products. 前端javascript程序代码如下 01.@section scrip…
1.运行程序时提示 ,vension does not match. 差不多是这样一个提示,具体怎么样的给忘记了. #1remove 'entity framework' from reference #2update the app.config to 6.0.0 #3use Nuget to install Entity Framework: install-package entityframework sometimes ,the Nuget prompts :the project h…
在这里记录一下之前使用Entity Framework(4.3.1版本)遇到的问题. 更新没有设置主键的表 在默认情况下,EF不能对一个没有主键的表进行更新.插入和删除的动作.用xml方式查看edmx文件,可以在SSDL中可以看到如下xml片断(我定义了一个没有主键的表tb_WithoutKey). <EntitySet Name="tb_WithoutKey" EntityType="TransferModel.Store.tb_WithoutKey" st…
问题描述: 使用Entity Framework获取数据时报以下错误: 未找到具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架提供程序.请确保在应用程序配置文件的“entityFramework”节中注册了该提供程序.有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260882. 这里Entity Framework逻辑代码封装在一个类库项目中,另一个是控制台应用程序,在控制台应用程序引用类库项目…
在使用Entity Framework 访问数据库时,我们经常使用Lambda表达式,但是如果不小心的话,很容易就掉到坑里了.比如下面的例子:用Lambda访问MSSqlServer中的NewsInfo表中id小于20的记录. 代码如下: 运行程序,程序工作正常.打开SQL Server Profiler 跟踪EF生成的SQL语句,结果如下: 这正是我们想要的SQL语句.下面我们将程序改一下,把Lambda表达式以参数的形式传递给一个方法GetNewsList(Func<NewsInfo, bo…
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 关联表的查询操作 使用 Include 方法,我们可以在一次数据库查询中将关联表的数据一并取出. 比如查询在线用户列表页面,需要在前端显示关联的用户信息,如下所示: <x:Grid ID="Grid1" runat="server" BoxFlex="1" ShowBorder="true" Show…
众所周知,WCF的传输对象,在创建时需要在类名上标识[DataContract]以及在属性上标识[DataMember],当我们在使用Entity framework时(不考虑Code first的情况),创建了edmx后,生成的众多的实体对象,此时如果手动去添加上述的两个标识(Attribute)也是一个烦人的工作.现总结一套自动为Entity framework的实体对象生成这两个属性的方法.如下: 1.删除原有的*.context.tt以及*.tt文件,然后在edmx空白设计器里边右键,然…
[原文地址]Using Repository and Unit of Work patterns with Entity Framework 4.0 [原文发表日期] 16 June 09 04:08 PM 如果你一直在关注这个博客的话,你知道我最近在讨论我们加到Entity Framework 4.0中的POCO功能的方方面面,新加的POCO支持促成了在Entity Framework中实现透明性持久的新方式,而该方式在Entity Framework 3.5中是无法实现的. 如果你错过了我的…
目录 预备知识    2 LINQ技术 2 LINQ技术的基础 - C#3.0    2 自动属性    2 隐式类型    2 对象初始化器与集合初始化器    3 匿名类    3 扩展方法    4 Lambda表达式    4 .NET中的数据访问    4 DataSet方案    5 改进的的DataSet方案    5 手写代码通过ADO.NET2.0连接类与数据库交互    5 ORM – LINQ to SQL    6 深入了解Entity Framework    7 En…
在实现基础的三层开发的时候,大家时常会在数据层对每个实体进行CRUD的操作,其中存在相当多的重复代码.为了减少重复代码的出现,通常都会定义一个共用类,实现相似的操作,下面为大家介绍一下Entity Framework时常用到的通用类.首先在数据库建立起几个关联表:Person.Company.Position,三个实体之间通过导航属性进行相互引用. 下面为大家分别介绍以泛型实现的 Create.Read.Update.Delete 操作: 1. Create 在ObjectContext类之中,…
转载原地址:http://www.cnblogs.com/lsxqw2004/archive/2009/05/31/1495240.html#_Toc228672754 预备知识    2 LINQ技术 2 LINQ技术的基础 - C#3.0    2 自动属性    2 隐式类型    2 对象初始化器与集合初始化器    3 匿名类    3 扩展方法    4 Lambda表达式    4 .NET中的数据访问    4 DataSet方案    5 改进的的DataSet方案    5…
预备知识    2 LINQ技术    2 LINQ技术的基础 - C#3.0    2 自动属性    2 隐式类型    2 对象初始化器与集合初始化器    3 匿名类    3 扩展方法    4 Lambda表达式    4 .NET中的数据访问    4 DataSet方案    5 改进的的DataSet方案    5 手写代码通过ADO.NET2.0连接类与数据库交互    5 ORM – LINQ to SQL    6 深入了解Entity Framework    7 En…
在开发的初期个人认为因VS与Sqlserver的配合很默契,即可以方便的实现Code First,又可以使用SqlServer Manager很漂亮的进行建模与变更,也许是个人的使用习惯MS的界面做的很好,似乎开源的产品美感上都追不上商用版. 所以个人比较喜欢的开发流程是初次开发以SqlServer Manager进行数据库建模,初步建构业务逻辑: 其次使用Vs的Entity FrameWork 快速的建立起ROM: 最后当开发进行到一定程度时再进行数据库迁移,把SqlServer 转换为MyS…
参考页面: http://www.yuanjiaocheng.net/entity/entity-relations.html http://www.yuanjiaocheng.net/entity/entity-lifecycle.html http://www.yuanjiaocheng.net/entity/code-first.html http://www.yuanjiaocheng.net/entity/mode-first.html http://www.yuanjiaocheng…
提示20. 怎样处理固定长度的主键 这是正在进行中的Entity Framework提示系列的第20篇. 固定长度字段填充: 如果你的数据库中有一个固定长度的列,例如像NCHAR(10)类型的列,当你进行一次插入时,填充会自动发生.所以例如如果你插入'12345',你将得到5个自动填充的空格,来创建一个10个字符长度的字符串. 大多数情况下,这种自动填充不会有问题.但是在使用Entity Framework时如果你使用这些列的一个作为你的主键,你可能会在进行标识识别(identity resol…
在使用Entity Framework时,会注意到下面这句: protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.HasDefaultSchema("DEV"); ..... } 如果是sql server的话,写上dbo. 就行了 如果是oracle的话,写上“用户名”. 如果schema是用户的话,那为什么不叫HasDefaultUser呢? 非要叫个schema,弄…
ADO.NET Entity Framework操作数据库的过程对用户是透明的(当然我们可以通过一些工具或方法了解发送到数据库的SQL语句等).我们唯一能做的是操作EDM,EDM会将这个操作请求发往数据库. Entity Framework实现了一套类似于ADO.NET2.0中连接类(它们使用方式相同,均基于Provider模式)的被称作EntityClient的类用来操作EDM.ADO.NET2.0的连接类是向数据库发送SQL命令操作表或视图,而EntityClient是向EDM发送Entit…
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. 从Subsonic到Entity Framework Subsonic最早发布于2008年,当时他的无代码生成模式吸引了很多人的眼球,ActiveRecord模式的支持也是Subsonic迅速流行的原因之一.Subsonic也曾经一度被认为是NHibernate的有力竞争对手.可惜在2009年左右Subsonic的作者Rob Conery被微软挖去做Asp.net MVC之后…
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. Entity Framework新增数据 以新增用户为例,作为对比,先来看下使用Subsonic的代码: using (TransactionScope scope = new TransactionScope()) { XUser item = new XUser(); item.Name = tbxName.Text.Trim(); item.ChineseName =…
一 介绍 在使用 Entity Framework Core (下面就叫 EF Core 吧)进行开发时,如果模型有变动,我们要在用 EF Core 提供的命令行工具进行手工迁移,然后再运行程序.但是为了效率,我想能不能在程序的入口处进行 Migration 呢?从个人经验来说应该是可以,因为 EF Tool 虽然提供了 CLI 但是它最终也是被程序解析这些命令.下面就开始分析,如何通过代码进行 Migration . 二 分析 首先我们要先了解,在使用 EF Core 的 CLI 时,要执行两…
前段时间试着用Entity Framework for Sqlite环境,发现了一些坑坑洼洼,记录一下. 同时试了一下配置多种数据库,包括Sqlite.Sql Server.Sql Server LocalDB.Sql Server Compact. 我建的demo项目结构以及通过NuGet安装的包:   EFDemo.MultipleDB.UI引用了EFDemo.MutipleDB项目. 1. 遇到的异常1 The Entity Framework provider type 'System.…
做项目时,在用Entity Framework往数据库插数据时,程序报异常,但是通过报的异常死活没法查看异常的详细信息.这让人很是烦恼.本着自己动手丰衣足食的原则,通过查看资料终于找到了显示异常详细信息的方法: 1.首先引用EntityFramework.dll 2.添加命名空间System.Data.Entity.Validation 3.抛异常时用 DbEntityValidationException ex 这个抛异常,这是我们就能查看到抛得异常的详细信息了,心情愉悦啊!!!…
在日常使用Entity Framework中,数据更新通常会用到.下面就简单封装了一个DBContext类 public partial class EFContext<T> : DbContext where T : class { public EFContext(): base("name=MyConnectionString") { } protected override void OnModelCreating(DbModelBuilder modelBuild…
最近一个项目,使用微软的Entity Framework的ORM框架的项目,部署到现场后,出现了系统缓慢,多个客户端的内存溢出崩溃的问题. 打开了SQL Server Profiler(SQL Server Profiler的简单使用)排查,发现有全表查询的语句,这表中有上万条数据,所以客户端查询后内存溢出了. 从代码中排查是否有直接全表查询的语句,结果未找到,后来在网上搜索到Linq to Object 连接(join) Linq to Entity时可能会引起全表查询.(https://ww…
与Entity Framework相伴的日子痛并快乐着.今天和大家分享一下一个快乐,两个痛苦. 先说快乐的吧.Entity Framework在将数据插入数据库时,如果主键字段是自增标识列,会将该自增值返回给实体对象对应的属性. 比如下面添加博客随笔至数据库的示例代码: var blogPost = new BlogPost(){    Author = "博客园",Title = "程序员的网上家园"};using (BlogDbContext context =…
本文转自:http://blog.csdn.net/educast/article/details/8632806 与Entity Framework相伴的日子痛并快乐着.今天和大家分享一下一个快乐,两个痛苦. 先说快乐的吧.Entity Framework在将数据插入数据库时,如果主键字段是自增标识列,会将该自增值返回给实体对象对应的属性. 比如下面添加博客随笔至数据库的示例代码: var blogPost = new BlogPost(){ Author = "博客园", Titl…
VS 2019发布时配置项中的Entity Framework迁移项显示不出来 dotnet ef dbcontext list --json “无法执行,因为找不到指定的命令或文件.可能的原因包括:  *你拼错了内置的 dotnet 命令.  *你打算执行 .NET Core 程序,但 dotnet-ef 不存在.  *你打算运行全局工具,但在路径上找不到名称前缀为 dotnet 的可执行文件.” 在命令行执行,也是提示一样的错误 解决办法: console dotnet tool insta…