2

Мне нужно уникальное значение хэша для каждой строки, поэтому я создал столбец с типом Guid.Почему колонка 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 удалена?

ответ

4

Это потому, что это область действия private.

, опустив public спереди, первый генератор миграции кода не видит в нем свойство, о котором ему нужно беспокоиться.

Изменить это:

public Guid RowGuid { set; get; } 
Смежные вопросы