随笔分类 -  C#/.Net

摘要:当我们做多表查询时 用Include 强制加载 或用 select 去查询时 发现生成的SQL语句 有时是左连接 有时是inner join。其实EF是根据我们实体类的连接字段 是否可空来判断的~比如外键RefIDinner join写法:public int RefID { get; set; }在OnModelCreating事件中配置modelBuilder.Entity<MyProject>.HasRequired(r=>r.RefProject).WithMany().HasForeignKey(t=>t.RefId);left join写法:public i 阅读全文
posted @ 2013-03-17 11:10 dct_it 阅读(2614) 评论(0) 推荐(0)
摘要:最近在用MVC3开发一个网站,以前没有用过MVC3,遇到一个纠结的事情就是无法把原生态的HTML输出到Razor视图的页面上。在网上查了下才发现MVC3原来还有个MvcHtmlString的类,MSDN上显示,如下图:MvcHtmlString类中有个Create的方法,可以把打输出的字串输出出来,如:MvcHtmlString.Create(“<li>test</li>”)或者New MvcHtmlString(“<li>test</li>”) 阅读全文
posted @ 2013-03-03 22:54 dct_it 阅读(2615) 评论(1) 推荐(0)
摘要:有些客户端的.net代码,在完成编码后需要用一些工具(如dotfuscator)进行混淆。一般“混淆”有2个比较明显的改变:成员名称的改变(命名空间、类名、方法名、属性名等);混淆代码过程(当然是在不改变原实现的情况下)。正常而言,工具的混淆是不会影响代码运行;但是这里要说一下,“成员的名称的改变”会在有的情况下,让混淆后的程序异常。因此在这里总结一些经验,避免由“成员的名称的改变”造成的错误。1、Serializable的类如果有用.net自带的配置文件做序列化的,比如XmlSerializer,这种类就要注意不要混淆。因为.net的自带序列化都会使用反射属性的名称,做配置文件的值;这样一混 阅读全文
posted @ 2013-01-27 00:58 dct_it 阅读(836) 评论(0) 推荐(1)
摘要:.Net中数字类型有很多种,一直都没什么留意各种用法,因为MSDN都有很详细的介绍;最近项目中要进行许多大数字的计算和格式化、校验,下面做一些总结。范围和精度表示小数类型有float、double、decimal。类型大致范围精度初始化后缀float-3.4×1038到 +3.4×10387f或Fdouble±5.0×10−324到 ±1.7×1030815到16d或Ddecimal(-7.9 x 1028- 7.9 x 1028) / (100 - 28)28到29m或M以上是来自msdn的数据float:http://msdn.m 阅读全文
posted @ 2013-01-20 18:47 dct_it 阅读(2293) 评论(0) 推荐(1)
摘要:从.NET 4.5开始,支持的三种异步编程模式:基于事件的异步编程设计模式 (EAP,Event-based Asynchronous Pattern)异步编程模型(APM,Asynchronous Programming Model)基于任务的编程模型(TAP,Task-based Asynchronous Pattern)基于任务的异步模式 (TAP) 是基于 System.Threading.Tasks 命名空间的 Task 和 Task<TResult>,用于表示任意异步操作。 TAP 是新开发的建议异步设计模式,之后再讨论。先总结一下旧有的2种模式:EAP、APM。从以下 阅读全文
posted @ 2013-01-13 15:41 dct_it 阅读(1977) 评论(0) 推荐(5)