2016-05-21 4 views
0

Сейчас у меня есть модели выглядеть следующим образом:Как сделать Add-Migration, включая частную собственность?

public abstract class Base 
{ 
    public Guid Id { get; set; } 
    private byte[] RowVersion { get; set; } 
} 

public sealed class Derived : Base 
{ 
    public string Name { get; set; } 
} 

При запуске Add-Migration все работает, как я ожидал, но для создания не RowVersion колонок кроме.

Есть ли все равно, чтобы сделать это, включая RowVersion column?

+0

Я думаю, вы можете использовать атрибут [Столбец] над частной собственностью. –

+0

Я уже пробовал это, и он не работает :( – UltimaWeapon

ответ

0

EF обычно работают на жидком позволяет отображать с помощью текучего API:

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder 
     .Entity() 
     .Property(p => p.Property); 
} 

Но ваша частная собственность не видно ....

Таким образом, вы должны создать EntityTypeConfiguration, и зарегистрировать их:

public abstract class Base 
{ 
    public Guid Id { get; set; } 
    private byte[] RowVersion { get; set; } 

    public class BaseConfiguration : EntityTypeConfiguration<Base> 
    { 
     public BaseConfiguration() 
     { 
      Property(p => p.RowVersion); 
     } 
    } 

} 

protected override void OnModelCreating(DbModelBuilder modelBuilder) 
{ 
    modelBuilder 
     .Configurations.Add(new Base.BaseConfiguration()); 
} 
+0

Спасибо за идею! Я уже решил проблему, перейдя от частного к защищенному. И это работает. – UltimaWeapon

0

Вы должны поставить отметку о времени аннотацию:

public abstract class Base 
{ 
    public Guid Id { get; set; } 

    [Timestamp] 
    public byte[] RowVersion { get; set; } 
} 

public sealed class Derived : Base 
{ 
    public string Name { get; set; } 
} 

Почему ваш твёрдый класс запечатан ?! Динамический прокси не будет работать! позаботьтесь об этом. и он должен быть общедоступным (для размышлений).

+0

Спасибо за ваш ответ! Но моя проблема не в некорректном типе столбца. – UltimaWeapon

Смежные вопросы