仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 833|回复: 12
打印 上一主题 下一主题

[学习教程] ASP.NET编程:让Entity Framework不再私闯sys.databases仓酷云

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:19:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
完全不一样的。.net其实我也说不太清,.net可以把他理解为跟J2EE相对的工具。c++主要做系统相关的开发你要学.net的话就应该学C#。(其实微软在.NET平台上也考虑了给C++留一个地位。这里的“私闯sys.databases”是指EntityFramework默许倡议的查询:SELECTCount(*)FROMsys.databasesWHERE[name]=N数据库名
注:本文针对的是EntityFrameworkCodeFirst场景,EntityFramework的版本是4.1与4.2。
3月份的时分在揭开EntityFrameworkLINQ查询的一点面纱一文中发明了EntityFramework的两个幕后买卖。
第一个买卖(私闯sys.databases):
SELECTCount(*)FROMsys.databasesWHERE[name]=NCNBlogsData第二个买卖(擅自刺探数据库的信息):
SELECTTOP(1)
[Extent1].[Id]AS[Id],
[Extent1].[ModelHash]AS[ModelHash]
FROM[dbo].[EdmMetadata]AS[Extent1]
ORDERBY[Extent1].[Id]DESC事先经由过程modelBuilder.Conventions.Remove<IncludeMetadataConvention>();制止了第二个买卖,但未能找到办法制止第一个买卖。
记妥当时用的是EntityFramework4.0,厥后微软公布了EF4.1和EF4.2。那我们来看看EntityFramework有无弃暗投明。
了局发明,只改了一半,第二个买卖“荡子转头”,而第一个买卖“贼心不改”。
代码天下是完善天下,决不同意如许的举动,必定要将之逍遥法外。
经由明天下战书的勉力,终究找到了这根“绳索”:
Database.SetInitializer<DbContextTypeName>(null);
示例代码以下:
  1. publicclassEfUnitOfWork:DbContext,IUnitOfWork{publicEfUnitOfWork(){Database.SetInitializer<EfUnitOfWork>(null);}protectedoverridevoidOnModelCreating(DbModelBuildermodelBuilder){}}
复制代码
能够看出,EntityFramework“私闯sys.databases”的目标是为了在依据实体天生数据库时,反省是不是存在同名的数据库。
而我们的使用场景基本不必要EntityFramework天生数据库,以是将之逍遥法外是“光明正大”。
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。
再现理想 该用户已被删除
沙发
发表于 2015-1-20 20:39:55 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
活着的死人 该用户已被删除
板凳
发表于 2015-1-25 19:39:21 | 只看该作者
同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。
谁可相欹 该用户已被删除
地板
发表于 2015-1-27 08:39:55 | 只看该作者
我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
只想知道 该用户已被删除
5#
发表于 2015-2-1 16:07:46 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
再见西城 该用户已被删除
6#
发表于 2015-2-7 07:37:52 | 只看该作者
Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-2-10 22:04:16 | 只看该作者
asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
不帅 该用户已被删除
8#
发表于 2015-2-22 18:31:41 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
莫相离 该用户已被删除
9#
发表于 2015-2-25 19:08:51 | 只看该作者
网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项!
老尸 该用户已被删除
10#
发表于 2015-3-2 21:16:41 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
山那边是海 该用户已被删除
11#
发表于 2015-3-10 19:06:16 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
海妖 该用户已被删除
12#
发表于 2015-3-17 09:10:28 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
因胸联盟 该用户已被删除
13#
发表于 2015-3-24 05:11:39 | 只看该作者
有一丝可惜的是,这个系列太强了,Java阵营的朋友根本就是哑口无言...争论之火瞬间被浇灭,这不是我想这么早就看到的,但是值了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-16 02:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表