(一) ??运算符
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; }