摘要: 本节,我们将介绍一些改善EF代码的方法,包括编译查询、存储模型视图以及冲突处理等内容。 l CompiledQuery 提供对查询的编译和缓存以供重新使用。当相同的查询需要执行很多遍的时候,那么我们可以使用ComplieQuery将查询的语句进行编译以便下次使用,这样可以免去对同一语句的多次处理,从而改善性能。 示例代码如下: [Test] public void ComplieTest() { using (var db = new NorthwindEntities1()) { //对查询进行编译 var customer = CompiledQuery.Compile<Northw 阅读全文
posted @ 2011-07-02 17:10 quietwalk 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 本节,我们将介绍一些改善EF代码的相关方法,如NoTracking,GetObjectByKey, Include等。 l MergeOption.NoTracking 当我们只需要读取某些数据 而不需要删除、更新的时候,可以指定使用MergeOption.NoTracking的方式来执行只读查询(EF默认的方式是AppendOnly)。 当指定使用NoTracking来进行只读查询时,与实体相关的引用实体不会被返回,它们会被自动设置为null。因此,使用NoTracking可以提 升查询的性能。示例代码如下: [Test] public void NoTrackingTest() { usi 阅读全文
posted @ 2011-07-02 17:09 quietwalk 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 在EF中,各个实体的插入、更新和删除也都通过使用存储过程来完成,以便提高点性能。这个类似于数据集。其步骤是:先定义存储过程,然后在VS的可视化设计器,设置存储过程映射即可。 下面,以为Supplier实体映射存储过程为例。 分别建立插入、更新和删除存储过程。 InsertSuppliers存储过程定义如下: CREATE PROCEDURE [dbo].[InsertSuppliers] -- Add the parameters for the stored procedure here @CompanyName nvarchar(40), @ContactName nvarchar(30) 阅读全文
posted @ 2011-07-02 17:08 quietwalk 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 从Code MSDN上下载下来的EFOracleProvider不支持Oracle9i.但是,目前我所使用的还是Oracle9i。为此,对EFOracleProvider修改了以下,以便使其支持Oracle9i. 下面说说具体修改地方.(红色部分为添加或修改的代码部分) 一,修改EFOracleProvider 1,修改EFOracleProviderManifest.cs类文件, internal const string TokenOracle9i = "9i";//add by xray2005 internal const string TokenOracle10g 阅读全文
posted @ 2011-07-02 17:08 quietwalk 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 目前,EF对存储过程的支持并不完善。存在以下问题: l EF不支持存储过程返回多表联合查询的结果集。 l EF仅支持返回返回某个表的全部字段,以便转换成对应的实体。无法支持返回部分字段的情况。 l 虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程 l EF不能直接支持存储过程中Output类型的参数。 l 其他一些问题。 本节,我们将学习如何手动添加/修改存储过程,如何使EF能够支持Output类型的参数。 l 添加/修改存储过程 有时候,某个SQL语句比较复杂,但是数据库中又没有定义相应的存储过程。这个时候,我 阅读全文
posted @ 2011-07-02 17:07 quietwalk 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 目前,EF对存储过程的支持并不完善。存在以下问题: l EF不支持存储过程返回多表联合查询的结果集。 l EF仅支持返回返回某个表的全部字段,以便转换成对应的实体。无法支持返回部分字段的情况。 l 虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程 l EF不能直接支持存储过程中Output类型的参数。 l 其他一些问题。 下面,主要针对如何使用存储过程,以及存储返回实体、表的部分字段这个几个问题,做具体介绍。 l 导入存储过程及返回实体 在VS可视化设计器中,打开实体模型(emdx文件)。然后,鼠标右键点击“Cu 阅读全文
posted @ 2011-07-02 17:06 quietwalk 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 本节,直接写通过代码来学习。这些基本操作都比较简单,与这些基本操作相关的内容在之前的1至6节基本介绍完毕。 l 增加: 方法1:使用AddToXXX(xxx)方法:实例代码如下: using (var edm = new NorthwindEntities()) { Customers c = new Customers { CustomerID = "c#", City = "成都市", Address = "中国四川省", CompanyName = "cnblogs", Country = "中国& 阅读全文
posted @ 2011-07-02 17:05 quietwalk 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 本节,将介绍如何手动构造复杂类型(ComplexType)以及复杂类型的简单操作。 通常,复杂类型是指那些由几个简单的类型组合而成的类型。比如:一张Customer表,其中有FristName和LastName字段,那么对应的Customer实体类将会有FristName和LastName这两个属性。当我们想把FirstName和LastName合成一个名为CustomerName属性时,此时,如果要在EF中实现这个目的,那么我们就需要用到复杂类型。 目前,由于EF不能显示支持复杂类型,所以我们无法在VS里的可视化设计器里面来设计我们需要的复杂类型。所以,我们需要手动修改实体模型,以便使其支持 阅读全文
posted @ 2011-07-02 17:05 quietwalk 阅读(496) 评论(0) 推荐(0) 编辑
摘要: System.Data.EntityClient 命名空间是 实体框架的 .NET Framework 数据提供程序。EntityClient 提供程序使用存储特定的 ADO.NET 数据提供程序类和映射元数据与实体数据模型进行交互。EntityClient 首先将对概念性实体执行的操作转换为对物理数据源执行的操作。然后再将物理数据源返回的结果集转换为概念性实体。 EntityClient下的类有以下几个: l EntityConnection l EntityCommand l EntityConnectionStringBuilder l EntityParameter l EntityD 阅读全文
posted @ 2011-07-02 17:04 quietwalk 阅读(2195) 评论(0) 推荐(0) 编辑
摘要: ObjectQuery 类支持对 实体数据模型 (EDM) 执行 LINQ to Entities 和 Entity SQL 查询。ObjectQuery 还实现了一组查询生成器方法,这些方法可用于按顺序构造等效于 Entity SQL 的查询命令。下面是 ObjectQuery 的查询生成器方法以及等效的 Entity SQL 语句: Distinct,Except,GroupBy,Intersect,OfType,OrderBy,Select,SelectValue,Skip,Top,Union,UnionAll,Where 每个查询生成器方法返回 ObjectQuery 的一个新实例。使 阅读全文
posted @ 2011-07-02 17:03 quietwalk 阅读(1043) 评论(2) 推荐(0) 编辑
摘要: LINQ 技术(即 LINQ to Entities)使开发人员能够通过使用 LINQ 表达式和 LINQ 标准查询运算符,直接从开发环境中针对 实体框架对象上下文创建灵活的强类型查询。LINQ to Entities 查询使用对象服务基础结构。ObjectContext 类是作为 CLR 对象与 实体数据模型 进行交互的主要类。开发人员通过 ObjectContext 构造泛型 ObjectQuery 实例。ObjectQuery 泛型类表示一个查询,此查询返回一个由类型化实体组成的实例或集合。返回的实体对象可供更新并位于对象上下文中。以下是创建和执行 LINQ to Entities 查询 阅读全文
posted @ 2011-07-02 17:02 quietwalk 阅读(751) 评论(0) 推荐(0) 编辑
摘要: Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM)。Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询。 l 关键字 Value关键字 ESQL 提供了 SELECT VALUE 子句以跳过隐式行构造。SELECT VALUE 子句中只能指定一项。在使用这样的子句时,将不会对 SELECT 子句中的项构造行包装器,并且可生成所要形状的集合,例如:SELECT VALUE it FROM NorthwindEntities.Customers as it it关键字 it 出现在 ESQL 中, 查 阅读全文
posted @ 2011-07-02 17:02 quietwalk 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 本节,简单的介绍EF中的ObjectContext、ObjectQuery、ObjectStateEntry、ObjectStateManager这个几个比较重要的类,它们都位于System.Data.Entity.dll下的System.Data.Objects命名空间下。在后续的章节中,我们经常会用到它们的某些方法,以便完成我们的某些操作或目的。本节,简单的说明一下以后我们可能会用到的各个类的方法,以方便我们后续的学习。 ObjectContext封装 .NET Framework 和数据库之间的连接。此类用作“创建”、“读取”、“更新”和“删除”操作的网关。 ObjectContext 阅读全文
posted @ 2011-07-02 17:01 quietwalk 阅读(1152) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/xray2005/archive/2009/05/07/1452033.html最 近在学习研究微软的EF,通过这时间的学习研究,感觉这个EF目前来说还不是很完善,半成品。不过,据说在.Net4.0中,微软将推荐使用此框架,并会 有所改善。而且,现在基本上所有数据库均提供了对EF的支持。因此,为以后做技术准备可以学习研究以下。但是,我个人觉得就目前来说,在实际项目慎用此框 架。 下面简单的介绍以下这个EF。 在.Net Framework SP1微软包含一个实体框架(Entity Framework),此框架可以理解成微软的一个ORM产品。用于支持 阅读全文
posted @ 2011-07-02 16:59 quietwalk 阅读(884) 评论(1) 推荐(0) 编辑
摘要: 本文转自:http://ynrs5566.blog.163.com/blog/static/183815438201141252428256/.NET 的实体框架越来越完善了,前几天看到Entity Framework 4.1已经正式发布了,新添加了一种称为Code First的开发模式。字面上的意思就是代码优先;按照微软对于它的说明就是:Code First聚焦于定义你的model类,这些类可以映射到一个现有的数据库,或者根据这些类生成数据库,并且提供了数据注解功能和一个易用的API。下面将对如何使用这种开发模式做一个简单的说明:准备:您需要已经安装VS2010以及Entity Framew 阅读全文
posted @ 2011-07-02 15:41 quietwalk 阅读(1400) 评论(0) 推荐(0) 编辑
摘要: 5.1 从控制器访问模型中的数据 在本节中,我们将要创建一个新的MoviesController类,并且书写代码来获取数据库中的数据,并通过视图模板来显示在浏览器中。 鼠标右击Controllers文件夹,点击“添加”菜单下的“控制器”菜单项,将会弹出一个“添加控制器”对话框,如图5-1所示。 图5-1 添加控制器 在该对话框中将控制其命名为MoviesController,然后点击添加按钮,该对话框被关闭。观察解决方案资源管理器中,Controllers文件夹下增加了一个名为MoviesController.cs的文件,并且呈打开状态。让我们更新MoviesController类中的Inde 阅读全文
posted @ 2011-07-02 14:29 quietwalk 阅读(923) 评论(0) 推荐(0) 编辑
摘要: 在本节中我们将追加一些类来管理数据库中的电影。这些类将成为我们的MVC应用程序中的“模型”部分。 我们将使用一个.NET Framework的被称之为“Entity Framework”的数据访问技术来定义这些模型类,并使用这些类来进行操作。Entity Framework(通常被简称为“EF”)支持一个被称之为“code-first”的开发范例。Code-first允许你通过书写一些简单的类来创建模型对象。你可以通过访问这些类的方式来访问数据库,这是一种非常方便快捷的开发模式。 4.1 利用NuGet来安装EFCodeFirst 我们可以利用NuGet包管理器(安装ASP.NET MVC3. 阅读全文
posted @ 2011-07-02 14:25 quietwalk 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 3.1 添加一个视图 在本节中我们修改HelloWorldController类,以便使用视图来向客户端展示HTML格式的响应结果。 我们使用ASP.NET MVC3中新增的Razor视图引擎来创建视图。Razor视图模板文件的后缀名为.cshtml,它提供了一种简洁的方式来创建HTML输出流。Razor视图大大减少了在书写视图模板文件时所需要输入的字符,提供了一个最快捷,最简便的编码方式。 这里,我们在HelloWorldController类的Index方法中添加使用一个视图。在修改前的Index方法中返回一个字符串,我们修改这个方法来使它返回一个视图,代码如下所示。 public Act 阅读全文
posted @ 2011-07-02 14:22 quietwalk 阅读(1597) 评论(0) 推荐(0) 编辑
摘要: MVC的全称为model-view-controller(模型-视图-控制器)。MVC是一种开发应用程序的模式,这个模式已经具有了很好的框架架构,并且十分容易维护。使用MVC开发出来的应用程序一般包括以下几块内容: 控制器(Controller):控制器类处理客户端向Web应用程序发出的请求,获取数据,并指定返回给客户端,用来显示处理结果的视图。 模型(Model):模型类代表了应用程序的数据,这些数据通常具有一个数据验证逻辑,用来使得这些数据必须符合业务逻辑。 视图(View):视图类是Web应用程序中用来生成并显示HTML格式的服务器端对客户端请求的响应结果的模板文件。 在本教程中,将全. 阅读全文
posted @ 2011-07-02 14:21 quietwalk 阅读(844) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://blog.sina.com.cn/s/blog_6ad539a90100orxv.html1.1 本教程的学习内容 在本教程中,你将学会如下内容: 如何创建一个ASP.NET MVC的工程。 如何创建ASP.NET MVC的控制器(controller)与视图(view)。 如何使用Entity Framework code-first 范例来创建一个新的数据库。 如何获取和显示数据。 如何编辑数据并且进行数据的有效性验证。 1.2 创建工程 如果要创建一个ASP.NET MVC3的工程时,首先运行Visual Web Developer 2010 Express(本教 阅读全文
posted @ 2011-07-02 14:18 quietwalk 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://my.hp009.com/10326?ajaxurl=blog_%3Fmodule%3Dblog%26act%3Darchive%26do%3Dshow%26uid%3D10326%26aid%3D39349故事一 女人出门旅游去了,留下了男人一个人在家。女人不在家,男人喝着啤酒,不停地换着电视频道。这时,女孩的电话打来了,她说:“我闲着没事,到你家坐坐吧!”男人说:“这……不行,我正要出去。”女孩其实已经在男人的楼下了。 女孩是男人的部下,女孩很多次对他表示了好感,男人都巧妙地拒绝了。女孩手里提着很多东西,还有一瓶红酒,站在了男人的家门口。男人说:“那我下厨吧!” 女 阅读全文
posted @ 2011-07-02 09:43 quietwalk 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://my.hp009.com/10326?ajaxurl=blog_%3Fmodule%3Dblog%26act%3Darchive%26do%3Dshow%26uid%3D10326%26aid%3D39709不知道哪个NB人士总结的,下一阶段看电影就按这个List了。【让这些电影治愈你】:1、缺乏学习动力:《幸福终点站》、《风雨哈佛路》2、对爱失望:《偷天情缘》、《初恋50次》3、自卑失落:《阿甘正传》、《肖申克的救赎》4、失败或绝望:《铁权男人》、《迫在眉梢》、《伊丽莎白镇》5、厌倦生活:《在世界的转角遇见爱》、《搏击俱乐部》【最费脑力的14部电影】:《盗梦空间》、《 阅读全文
posted @ 2011-07-02 09:36 quietwalk 阅读(417) 评论(3) 推荐(0) 编辑
摘要: 人生要不是大胆地冒险,便是一无所获。——海 伦 · 凯 勒人乃是为内心所形成的各样感受而活。──托 马斯 · 布 朗 爵 士一个人在事情还没有做好之前便想逃避,待事到临头会觉得更痛苦。━ ━ 塞 尼 卡“ 成 功 的 秘 诀就 在 于 懂 得 怎 样 控 制 痛 苦与 快 乐 这股 力 量, 而 不 为 这股 力 量所 反 制 。如 果 你 能 做 到 这点 , 就 能 掌 握 住 自己 的 人 生 , 反 之 , 你 的 人 生 就 无 法 掌 握 。” ━ ━ 安 东尼 · 罗 宾 斯是你所认定的痛苦和快乐决定了你的一生。“ 如 果 你 对 周 围 的 任 何 阅读全文
posted @ 2011-06-29 12:48 quietwalk 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.cnblogs.com/virusswb/articles/1681561.htmlnet System.Web.Caching.Cache缓存类使用详解 System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类。这包括 Cache 类,该类是一个使您可以存储任意数据对象(如哈希表和数据集)的词典。它还为这些对象提供到期功能,并提供使您可以添加和移除对象的方法。您还可以添加依赖于其他文件或缓存项的对象,并在从 Cache 中移除对象时执行回调以通知应用程序。 System.Web.Caching.Cache 用于实现 Web 应用程序的缓存。 阅读全文
posted @ 2011-06-29 11:01 quietwalk 阅读(350) 评论(0) 推荐(0) 编辑
摘要: //Author:quietwalk//Date:2011-06-13//Operation:过滤数字型数据的后面的0,保证只有一个0//输入:45.000//输出:45.0public static string trim0(string ls_original) { int iLength, j; j = 0; //iLength=len(ls_original); iLength = ls_original.Length; string ls_temp; ls_temp = ls_original; string strR1; if (iLength > 2) { //strR1= 阅读全文
posted @ 2011-06-13 17:12 quietwalk 阅读(224) 评论(0) 推荐(0) 编辑
摘要: Java基础方面1. 作用域public,private,protected,以及不写时的区别作用域当前类同一package子孙类其他packagepublic√√√√protected√√√friendly√√××private√×××2. Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名的内部类是没有名字的内部类。可以继承抽象(SDK1.5没有限制),但一个内部类可以作为一个接口,由另一个内部类实现3. Static Ne 阅读全文
posted @ 2011-05-19 12:42 quietwalk 阅读(1634) 评论(0) 推荐(0) 编辑
摘要: //循环删除树的所有根结点long ll_handle,ll_handleNextll_handleNext=0ll_handle = tv_1.finditem(RootTreeItem! ,0)do while ll_handle >0 ll_handleNext = tv_1.finditem(NextTreeItem! ,ll_handle) //同级的下一个节点tv_1.deleteitem( ll_handle)ll_handle=ll_handleNextloop 阅读全文
posted @ 2011-02-18 10:10 quietwalk 阅读(1737) 评论(0) 推荐(0) 编辑
摘要: /*由于PB的TreeView控件没有提供查找项的功能,因此本程序算是对此一缺憾的补缺。 调用语法: findtreeitem(tv_tree, findby, data) 调用参数: tv_tree: TreeView, 指明在tv_tree树中查找 findby: boolean, 指明查找方式 false - 按标签(Label)查找 true - 按附加数据(data)查找 data: any, 指明要查找的内容 返回值:long型。若找到,返回找到的项的Handle; 若没有找到,返回0; 若出错,返回-1 */Long li_cnt, ll_hdl[]TreeViewItem 阅读全文
posted @ 2011-02-16 18:19 quietwalk 阅读(3111) 评论(0) 推荐(0) 编辑
摘要: PowerBuilder提供的TreeView控件可以使我们以树形方式分层组织和显示数据,使程序的表现更为灵活,用户的操作更加方便。通常情况下,在TreeView控件中通过展开和折叠各分枝,可以方便地对所需信息进行查找和定位,但是如果该控件中的内容层次较多,用户对其内容又不非常了解时,要让用户逐一展开各分枝进行定位就会使效率降低,这种情况下就需要提供一种自动查询方式,让用户输入要找的信息,由程序来完成在TreeView控件中的查找和定位。PowerBuilder的TreeView控件没有直接提供完成这一功能的函数或方法,也就是说不能直接在TreeView控件的各节点中查找所需的数据。该控件具有 阅读全文
posted @ 2011-02-13 10:44 quietwalk 阅读(8740) 评论(0) 推荐(1) 编辑
摘要: 本文转自:http://chbin95233.blog.163.com/blog/static/32075111201010573448815/■TreeView控件可以以树型方式来组织项目,不仅显示直观、界面友好,而且项目的管理和操作更为方便,是当前比较流行的一个控件。该控件的特点是在较小的空间可以分层次显示大量的数据,并且可以按照用户的要求检索数据。该控件具有以下功能:通过可以展开或者折叠的节点遍历数据。图形化和文本化的节点显示。拖放操作。包括剪切、复制和粘贴的节点操作。■典型编程通常TreeView控件用来让用户选择数据,或者进行数据的管理。比如,在一个人事管理软件中,使用部门、姓和名这 阅读全文
posted @ 2011-01-27 11:55 quietwalk 阅读(14872) 评论(0) 推荐(0) 编辑