随笔分类 - C#
关于C#的文章
EF-一对一关系
摘要:针对关系型数据库来说,需要明了每个对象之间的关系。 它们之间的关系有: 1、一对一(1:1):一个学生只能拥有一张身份证,一张身份证只能属于一个学生; 2、一对多(1:N):一个学生可以拥有几本书,而这些书都属于该学生所有; 3、多对多(N:M):一个学生可以选择多名教师,一个教师可以选择多名学生。
阅读全文
EF-生成迁移版本
摘要:前面讲到可以使用迁移技术让程序自动更新数据库中相关的结构。在我们每次需要新增模型类时,请一定要养成一个好的习惯,使用Add-Migration命令生成迁移版本。这样能恢复被误删除的表。 一、新增迁移版本 例如本次版本新增了一个CanteenCards类型,则在程序包管理器控制台中输入 Add-Mig
阅读全文
EF-获取自增ID值
摘要:EF6中,如果将模型类的ID属性设置为主键自增,则我们在外部怎么对其赋值,数据库依然会将该值自增,而不会处理外部给的值。 如果我们在新增数据之后,需要用到这个自增的ID主键,怎么获取呢?EF6在执行完context.SaveChanges()之后,会自动将这个自增ID主键值从数据库中返回并赋给当前I
阅读全文
EF-记录程序自动生成并执行的sql语句日志
摘要:在EntityFramework的CodeFirst模式中,我们想将程序自动生成的sql语句和执行过程记录到日志中,方便以后查看和分析。 在EF的6.x版本中,在DbContext中有一个Database属性,Database.Log就是用来专门记录这种日志的。 Database.Log是一个Act
阅读全文
EF-使用迁移技术让程序自动更新数据库表结构
摘要:承接上一篇文章:关于类库中EntityFramework之CodeFirst(代码优先)的操作浅析 本篇讲述的是怎么使用迁移技术让程序自动通过ORM框架将模型实体类结构映射到现有数据库,并新增或修改与之对应的表结构。 无论承不承认,都要使用到visual studio的“程序包管理器控制台”执行相关
阅读全文
EF-关于类库中EntityFramework之CodeFirst(代码优先)的操作浅析
摘要:前有ADO.NET,后有ORM模式的EntityFramework。这两种技术都实现了对数据库的访问操作。如果要说哪种技术好,就看项目架构的大小,使用者的熟练程度等等,毕竟萝卜白菜,各有所爱。 今天要记录和讨论的是项目之数据访问层中,使用EF来操作数据库,并可以自动更新数据库表的结构。闲话休提,逻辑
阅读全文
Web API之路由浅谈
摘要:Web API的路由,是指明接口地址的方向,是照亮获取数据路上的灯塔,其重要性不言而喻。 本篇文章以vs2015为例,一步步说明路由的创建及使用,其中包括默认路由、自定义路由和特性路由。 一、默认路由 我们创建一个新的web api项目,其初始的默认路由是这样的: 不难看出,默认路由的名称(name
阅读全文
一、WCF学习之旅-创建第一个服务
摘要:WCF基本介绍:http://baike.baidu.com/link?url=TGjLYt3HS4dt4-hIiGRknLy6udRsZ52QxJz9cmRKlR4NXbP9rCZDsKn2fDfGeBEfyQL9XlTMy_aW4Zno3HEkKa WCF有三种通信模式:单向、请求-响应、双工。
阅读全文
.net WebService方法之重载、支持Session、支持request请求和response格式的浅析
摘要:.net的webservice不支持web方法的重载,但是可以通过设置WebMethod属性的MessageName字段来达到重载web方法的目的。 通过设置WebMethod属性的EnableSession=true,可让webservice支持session。 通过设置ScriptMethod属
阅读全文
关于反射的BindingFlag浅析
摘要:MSDN关于BindingFlag的文档地址:https://msdn.microsoft.com/zh-cn/library/cexkb29a BindFlags作为一个特别的标志量,在反射中通过这个标志量,可以指定搜索不同类型的成员。 public或nonpublic必须与 instance或s
阅读全文
读书笔记 C# 控制台应用程序之Main方法浅析
摘要:Main方法是C#控制台应用程序和Windows窗体应用程序的入口点。Main方法可以有形参,也可以没有,可以有返回值(int整型),也可以没有。如下定义: Main方法必须为静态形式,访问修饰符不能为public。因C#类中默认的访问修饰符为private,因此可以不写。 在外部可以通过输入命令行
阅读全文
C# 使用cmd输入参数来执行控制台应用程序
摘要:在外部可以使用cmd命令向C#控制台应用程序发送参数,并使之处理。main函数的形参一定要包含string[] args,否则该控制台应用程序不能接收外部参数。在使用cmd调用程序的时候,外部每个参数之间需要用空格隔开。 以下代码的逻辑是,将外部输入的参数追加的文本文件中,按照每行一个参数值的方式追
阅读全文
读书笔记 C# Lookup<TKey,TElement>和ToLookup方法的浅析
摘要:Lookup<TKey,TElement>类型对象和分组是一样的,就好比使用Linq的group关键字后所查询出来的结果,使用foreach的时候,都可以用IGrouping<TKey,TElement>来迭代它们。Lookup<TKey,TElement>也是一种字典,不过它是一对多,不像Dict
阅读全文
读书笔记 C# Linq查询之group关键字浅析
摘要:在C#中,自从有了Linq查询表达式后,程序员对可被迭代的序列或列表执行一系列的筛选、排序、过滤、分组、查询等操作。本文章所要讲述的是group关键字。 Linq查询表达式,是以from关键字开头,以select或group关键字结尾,它们之中可以插入where、orderby、join、let甚至
阅读全文
读书笔记 C# 接口之浅析
摘要:一、接口可以包含 属性、方法、事件和索引器; 二、接口不能被实例化; 三、一个类可以继承多个接口; 四、接口不能包含方法的实现; 五、继承接口的类必须实现接口中所有成员; 六、显式实现接口的成员,不能从类实例去访问。因为显式实现的接口成员,仅通过该接口调用并且特定于该接口; 七、接口中的成员不能指定
阅读全文
读书笔记 C# 接口中的索引器之浅析
摘要:在C#中,可以在类、结构或接口中用this关键字声明索引器,在索引器内部用get或set访问器访问类中集合的某项值。因此可以将索引器看作是类的属性一样去定义。索引器常用定义格式如下: 索引器参数类型不只是整型,还可以用字符串,例如 public int this[string index]{....
阅读全文
读书笔记 C# Type类型与泛型有关的某些属性浅析
摘要:返回 Type 对象数组,这些对象表示为构造类型提供的类型变量,或泛型类型定义的类型参数。如果是MyList<int,Person> ,则返回int和Person类型的数组,如同Type[] tpyes={typeof(int),typeof(Person)},Type数组中任一参数的IsGener
阅读全文
读书笔记 C# yield return与yield break执行顺序的浅析
摘要:yield return可一次返回一个元素,并保留当前在代码中的位置,下次调用当前迭代器函数时,将从该位置从新执行。也就是说执行了yield return的时候,迭代器函数就返回了一个元素给foreach中in前面的一个元素,这时代码就执行了foreach方法中,当foreach本次执行完毕之后,程
阅读全文
读书笔记 C#事件event浅析(一)
摘要:在C#中,所谓event事件,就是一种特殊的委托。如果要声明事件,首先就要声明一个相对应的委托类型。按照流程来说,事件相当于委托类型往上升了一级似的,我是这样认为的。 event事件是一种特殊的多播委托,它可以用+=来新增方法引用,也可以用-=移除方法引用。 在用匿名函数或lambda表达式附加方法
阅读全文
读书笔记 enum枚举之位标志属性(Flags)浅析
摘要:针对enum枚举来说,可以定义位标志属性,从而使该枚举类型的实例可以存储枚举列表中定义值的任意组合。可以用 与(&)、或(|)、异或(^)进行相应的运算。废话不多说,代码最直接。
阅读全文
浙公网安备 33010602011771号