Почему кнопки растягиваются, чтобы покрыть весь выделенный layout_weight

Решение, которое я нашел, это:

  1. Убедитесь, что автоматическая миграция отключена. Это значит, что VS будет генерировать скрипт (свободный код api) для дальнейшей настройки, а не просто запускать его. Итак, в классе конфигурации:
    public Configuration()
    {
        AutomaticMigrationsEnabled = false;
    }
    
  2. Добавьте поле в класс и установите его так, как вычислено так, setter является приватным, потому что мы, очевидно, не можем записать в вычисленное поле:
    [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
    public string BreakdownNo { get; private set; }
    
  3. Затем создайте add-migration [xyz-name] в консоли диспетчера пакетов, чтобы сгенерировать код миграции, который будет отображаться в папке миграций с заданным именем.
  4. Внутри миграции запишите код в Up() и добавьте собственный SQL так:
    public override void Up()
    {
        //AddColumn("dbo.Calls", "BreakdownNo", c => c.String());
        Sql("ALTER TABLE dbo.Calls ADD BreakdownNo AS ('BD'+RIGHT('00000'+ CAST(Id AS VARCHAR), 6))");
    }
    
  5. Сделайте update-database в PM, и он должен правильно добавить вычисленный столбец.

ДАЛЬНЕЙШИЕ ПРИМЕЧАНИЯ: Если вы получите неправильную форму, тогда вам придется вернуться к миграции, выполнив update-database -targetMigration: [name of migration to go back to], затем сделайте еще add-migration name и измените формулу там, закончив обновлением-базой данных. Может быть, лучший способ, но это то, что я нашел и использовал.

Однако я не нашел способ сделать поле еще не сохраненным.

7
задан Snake 19 March 2012 в 19:48
поделиться