MVC 5 + EF 6

(一) ??运算符

C#中两个问号(“?”)的作用是判断“?”左边的对象是否为null,如果不为null则使用“?”左边的对象,如果为null则使用“?”右边的对象。

(二)VS安装Entity Framework

工具--库程序包管理器--程序包管理器后台

在程序包管理器控制台中输入以下命令并执行

Install-Package EntityFramework

(三)VS安装PagedList.Mvc NuGet包

程序包管理器控制台中输入以下命令并执行

Install-Package PagedList.Mvc 

(四)

virtual关键字用于指定属性或方法在派生类中重写

class A
{
public virtual void F(){}
}

class B:A
{
public override void F(){}
}

(五)

using System.ComponentModel.DataAnnotations.Schema;

[DatabaseGenerated(DatabaseGeneratedOption.None)]

该特性可以让你来输入该实体的主键值,而不是让数据库自动生成它。

(六)数据访问层(DAL)

public SchoolContext()
: base("SchoolContext")
{
}

通过传递连接字符串而不是存储在web.config文件的连接字符串名称本身来指定连接。

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}

OnModelCreating方法中的modelBuilder.Convertions.Remove被用来防止生成复数表名。

(七)使用特性来定制数据模型

格式化日期(只显示日期):

using System.ComponentModel.DataAnnotations;

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)]
public DateTime EnrollmentDate { get; set; }
上一篇:HDU 4978 A simple probability problem


下一篇:TypeScript学习笔记(六):泛型