Я использую этот трюк в течение нескольких лет, и он отлично работает без каких-либо проблем при проверке / снятии флажка при использовании с PHP и базой данных.
Код HTML: (для добавления страницы)
<input name="status" type="checkbox" value="1" checked>
Подсказка: удалите «флажок», если вы хотите показать его как непроверенный по умолчанию
Код HTML: (для Edit Page)
<input name="status" type="checkbox" value="1"
<?php if ($row['status'] == 1) { echo "checked='checked'"; } ?>>
PHP Код: (используйте для добавления / редактирования страниц)
$status = $_POST['status'];
if ($status == 1) {
$status = 1;
} else {
$status = 0;
}
Подсказка: всегда будет пустое значение, если пользователь не проверит его. Итак, у нас уже есть PHP-код, чтобы поймать его, остальное значение равно 0. Затем просто используйте переменную $ status для базы данных.
Указание папки миграции также возможно во время вызова команды enable-migrations
(которая создает класс Configuration
) с использованием параметра -MigrationsDirectory
:
enable-migrations -EnableAutomaticMigration:$false -MigrationsDirectory Migrations\CustomerDatabases -ContextTypeName FullyQualifiedContextName
В примере будет создан Configuration
класс, который устанавливает MigrationsDirectory
в указанную папку «Migrations \ CustomerDatabases», которая относится к корневой папке проектов.
public Configuration()
{
AutomaticMigrationsEnabled = false;
MigrationsDirectory = @"Migrations\CustomerDatabases";
}
См. Также эту статью , в которой рассказывается о проекте с несколькими контекстами и папками миграции.
Кстати, если вы используете несколько папок миграции и несколько контекстов, пожалуйста, подумайте также о том, чтобы установить имя для схемы по умолчанию в методе OnModelCreating
вашего производного класса DbContext
(где конфигурация Fluent-API) является). Это будет работать в EF6:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("CustomerDatabases");
}
Префикс таблиц базы данных префикса с именем схемы. Это позволит вам использовать более одного контекста с одной базой данных в сценарии, где у вас есть несколько групп таблиц, которые не зависят друг от друга. (Это также создаст отдельные версии таблиц MigrationHistory, в приведенном выше примере это будет CustomerDatabases.__MigrationHistory
).