我需要为每一行创建一个唯一的哈希值,所以我创建了一个 type 的列Guid
。
public class SendingLog
{
[Key]
public int SendingLogId { get; set; }
[Required, ForeignKey("Apartment")]
public int ApartmentId { get; set; }
public virtual Apartment Apartment { get; set; }
Guid RowGuid { set; get; }
[MaxLength(256), Required]
public string Email { get; set; }
[Required]
public DateTime SentTime { get; set; }
public int SentByUserId { get; set; }
}
但是,代码首先迁移生成了以下代码。
public override void Up()
{
CreateTable(
"dbo.SendingLogs",
c => new
{
SendingLogId = c.Int(nullable: false, identity: true),
ApartmentId = c.Int(nullable: false),
Email = c.String(nullable: false, maxLength: 256),
SentTime = c.DateTime(nullable: false),
SentByUserId = c.Int(nullable: false),
})
.PrimaryKey(t => t.SendingLogId)
.ForeignKey("dbo.Apartments", t => t.ApartmentId, cascadeDelete: true)
.Index(t => t.ApartmentId);
}
为什么要Guid
删除该列?