10 2012 档案
摘要:回到目录相关文章系列第八回 EF架构~将数据库注释添加导入到模型实体类中第二十一回 EF架构~为EF DbContext生成的实体添加注释(T4模板应用)第二十二回 EF架构~为EF DbContext生成的实体添加注释(T5模板应用)使用EF架构时,你的实体生成方案有多种,entity object,poco,dbcontext等等,对于entity object方案生成的实体,我们感觉很臃肿,当然它的功能很强在,但有时在查看类实体时,有些麻烦,因为所有实体都在一个类文件中,有点像linq to sql,而它的类格局也与dbml有些雷同,当然这不是今天的重点,今天主要说的是当EDMX文件添.
阅读全文
摘要:回到目录无论是linq to sql 还是entity frameworks,在进行列表操作时都会有一个毛病,那就是它的操作只能一个实体一个实体的发到服务器,这样,如果列表的数量很大,如列表为10万条数据,那么,这种操作将是非常性能的,可能你的DB就挂了。解决方案:拼接T—SQL串,并使它具有通用性好处:与服务器建立一次连接,给服务器发一条SQL命令,即可实现代码如下: 1 /// <summary> 2 /// 构建Insert语句串 3 /// 主键为自增时,如果主键值为0,我们将主键插入到SQL串中 4 /// </summary> 5...
阅读全文
摘要:回到目录ObjectContext作为entity framework的最原始的数据上下文对象,它的操作都是具有原始性的,没有被封闭过的,这也就难免在有些功能上欠缺一点,用过DbContext作为EF数据上下文的同学一定有留意到它的Find<TEntity>(params object[] keyValues)方法,不错,它确实比较方便,通过主键(可以是复合主键)来查找实体,这个功能在ObjectContext对象上是没有被提供的,所以,我把这个功能在ObjectContext上实现了一下,现在分享给各位: 1 /// <summary> 2 /// 根据主键得到一个实
阅读全文
摘要:回到目录1:日期范围上smalldatetime的有效时间范围1900/1/1~2079/6/6datetime的有效时间范围1753/1/1~9999/12/312:精准度上smalldatetime只精准到分,而datetime则可精准到3位的毫秒。3:存储空间上smalldatetime占用4...
阅读全文
摘要:回到目录相关文章系列第八回 EF架构~将数据库注释添加导入到模型实体类中第二十一回 EF架构~为EF DbContext生成的实体添加注释(T4模板应用)第二十二回 EF架构~为EF DbContext生成的实体添加注释(T5模板应用)在EF架构中,我们的数据库注释不会被自动映射到EDMX模型上,而模型的说明也不会自己在生成的SQL语句上体现,我们需要手动做一下设置才行。首先分两步走,第一步Data First环境下,将数据库注释添加到实体类;第二步 Code First环境下,将实体类注释,输出到SQL语句上。下面是实现方法:第一 数据库注释添加到实体类从数据库更新模型后,假设为"
阅读全文
摘要:任务调度类似于sqlserver中的作业,即按周期性执行某个程序,代码段,或者某种服务,在JAVA环境中出现了Quartz,它可以简单的实现任务的调试,而像lucene一样,它会有对于的.net版本,Quartz.net,今天我们来做一个简单的实验,其时很简单的实验:环境:.net4.0+mvc3功能:每1分钟去向一个文件里写日志(当然,如果你要调用某个服务,只要让它实现IJob接口即可。所需要的程序集首先在WEB.Config的configuration节点里做一些必要的配置 1 <configSections> 2 <section name="quartz&q
阅读全文
摘要:写JS还是谨慎点好,为什么这样说,首先一个常识就是,在浏览器执行JS脚本过程中,当出现脚本错误,并且你没有手动进行异常捕捉时,他会在浏览器下面出现黄色的叹号,这是正常的,这也不是最重要的,最重要的是,出错行以下的所有JS代码将中停执行,这是我们不希望看到的,所以说,对于自己写的,拿不准的脚本还是加上异常捕捉比较好。1 清除黄色叹号:window.onerror={return true;} //这只是表面清除了错误,但JS代码将被中停2 为容易出错的,容易产生兼容问题的代码段加上try..cache 1 try{ 2 3 var a="hello world"; 4 5 D
阅读全文
摘要:产生这个问题的原因,其时是由我们的习惯引起的,一般说过,我们的update操作是这样的1 从数据表把数据获出来2 修改取出现的实体值3 发回给数据表,更新成功这看上去没有问题,但在EF环境中就会产生问题,因为当你取实体时,默认情况下EF会向ObjectStateManager提交一种跟踪机制,即向它里面添加了一个键值,而当你调用update时,这时它已经有这个键值了,所有出现异常也很正常。解决方法1:不使用上面的逻辑,直接将实体附加到数据上下文中,这是可以的解决方法2:在获取单条实体时,取消实体跟踪,扩展方法是AsNoTracking(),这时不会向ObjectStateManager添加键值
阅读全文
摘要:编译器错误消息: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义。必须添加对程序集 “System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089” 的引用。原因,因为在进行页面渲染时用到了这个程序集,而程序没有加载这个,所以出现了错误,一般地,我们可以在Web.config中,注册这个程序集如下代码:1 <assemblies>2 <add assembly="System.Web.
阅读全文
摘要:回到目录上回主要把数据操作规范及EF两种基类下的实现说了一下,今天主要针对ObjectContext情况下的批量操作作一个详细的说明,首先,要说明一点,批量操作不用ObjectContext提供的方法,而是使用拼SQL串的方式,将列表拼成一个SQL串,一次的发给数据库,这样在性能上绝对是一个质的飞越,本人尝试过,无论是EF还是linq to sql,它们提供的方法,对于列表的操作会产生N条SQL串(N=列表的长度)。一个操作类型枚举:1 /// <summary>2 /// 執行SQL的類型3 /// </summary>4 pu...
阅读全文
摘要:回到目录在EF环境里,我们的数据上下文对象通常是有两个版本,一个是DbContext对象,另一个是ObjectContext,个人觉得前者是轻量级的,对于code first模式中使用比较多,而后者是原生态的,最初的EDM(entity Data Model)就是以这个为基类的,它的实现与linq to sql很类似,也是分部方法,lambda表达式等元素的产物。看看我的一个规范,两个实现吧!一个规范: 1 namespace Commons.Data 2 { 3 /// <summary> 4 /// data repository interface 5 ...
阅读全文
摘要:1 <%@ Page Language="C#" %> 2 3 <%@ Import Namespace="System.Data.SqlClient" %> 4 <% 5 string ServerName = "测试"; 6 string DBIP = "-"; // - 表示没有数据库服务器 7 string DBName = ""; 8 string DBUser = ""; 9 string DBPassword = "&qu
阅读全文
摘要:ADO.NET Entity Framework 是.Net Framework 3.5 SP1 引入的实体框架,它使开发人员可以通过对象模型(而不是逻辑/关系数据模型)专注于数据。实体框架Entity Framework使用概念层、映射层和逻辑层将逻辑数据库结构抽象化。ADO.NET Entity Framework是建立在关系数据库上的一种抽象概念模型(Conceptual Model)框架。术语说明:Data Source: 我们所熟知的数据库或其他可能的数据源,SQL Server、Oracle、DB2、MySQL 等等。Data Providers: ADO.NET Data Pro
阅读全文
摘要:回到目录网页的头部压缩在页面体积大的情况下非常有必要做,它会使页面体积有一个明显的减小,同时加到网页从服务端下载到客户端的速度,以下是我做的一个测试:没有使用头压缩时:使用了头压缩后:我们可以看到,网页的体积足足减少了6KB,这对于远程传输来说是很重要的,同时,页面下载到客户端的速度也由825MS提升到了753MS,可以说是一次不小的飞跃!呵呵!在MVC环境中,是如何实现的呢,如果不是全局的,可以建立一个过滤器(特殊),然后应用到action或者controller上就可以了,我们以这种方式为例,我来共享一下代码: 1 /// <summary> 2 /// 页面头压缩 3 ...
阅读全文
摘要:在分层架构中,查询操作是很常见的,我们有时总是希望把它写得健壮一些,有时总希望重复代码少一些,可能有时也希望它可以美丽一些,呵呵!在这个系列中,我将为大家解说一下分层架构里的条件过滤,如何去设计它,WEB,BLL,DATA层都干什么事,怎么样使程序更加灵活,更加合理些。目录:一 每个层对于“条件过滤”的职责二 Lambda表达式对于查询语句简化了不少,牺牲的性能可以接受三 将所有过滤条件放到字典里,最后统一过滤四 为Iqueryable结果集添加扩展方法,并添加排序功能五 模块完整代码一 每个层对于“条件过滤”的职责WEB UI 层:整理查询的对象,并进行初始化工作,组织Predi...
阅读全文
浙公网安备 33010602011771号