Column特性可以用到类的属性中,Code-First默认的约定是使用属性名称作为列名.这个Column特性可以打破这个特性。
看下面的代码:
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace EF2 { [Table("StudentMaster",Schema="WaHaHa")] public class Student { [Key] [Column(Order=)] public int StudentKey1 { get; set; } [Key] [Column(Order=)] public int StudentKey2 { get; set; } [MaxLength()] [ConcurrencyCheck] [Required] public string StudentName { get; set; } [NotMapped()] public int? Age { get; set; } [Column("StandardID")] public int StdId { get; set; } [ForeignKey("StdId")] public virtual Standard Standard { get; set; } } }
当然你还可以指定列的顺序【Order】和类型【Type】,请看:
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace EF2 { [Table("StudentMaster",Schema="WaHaHa")] public class Student { [Key] [Column(Order=)] public int StudentKey1 { get; set; } [Key] [Column(Order=)] public int StudentKey2 { get; set; } [MaxLength()] [ConcurrencyCheck] [Required] [Column(,TypeName="varchar")] public string StudentName { get; set; } [NotMapped()] public int? Age { get; set; } [Column(,TypeName="int")] public int StdId { get; set; } [ForeignKey("StdId")] public virtual Standard Standard { get; set; } } }