Все мы знаем, что Linq to SQL (и SQLmetal / exe) на самом деле является «прототипом» качественный продукт (в нем отсутствуют базовые функции, такие как «обновление» схемы и обнаружение пустых столбцов со значением по умолчанию).
Есть ли способ автоматически создать мой .dbml (аналогично LINQ to SQL или SQLmetal) И должен ли он обнаруживать NOT NULL
столбцы, которые имеют значение по умолчанию?
Требования: Он должен быть таким же «легким» для генерации, как linq-to-sql или sqlmetal.
Пояснение того, что Мне нужен он для:
У меня много таблиц с полями DateCreated
и DateModified
, а также с некоторыми битами
и перечислениями ( int
) столбцы со значениями по умолчанию; все они должны быть не нулевыми
.
Мне нужно будет регенерировать («обновить») .dbml после внесения изменений в базу данных ... поэтому (повторная) установка свойства Auto-Generate (или Auto-Sync ) на True
- это не то, что я действительно хочу делать почти каждый раз, когда обновляю схему.
Следующий код (основан на Обработка значений по умолчанию с помощью LINQ to SQL ):
namespace Project.Data
{
public partial class ProjectDataContext
{
partial void OnCreated()
{
if (this.DateCreated == null)
{
this.DateCreated = DateTime.UtcNow;
}
}
}
}
не компилируется (ошибки с ... не содержат определения для 'DateCreated' ...
). Я действительно не видел причин , что он должен компилироваться ... но я все равно попробовал. Возможно, я просто не понимаю контекст кода из его примера.