Подробно: есть колонка таблицы, скажем "Status char(4) NOT NULL DEFAULT('TODO')". При вставке записи, я бы хотел, чтобы если проперть класса Status = null, то BLT не вставлял поле в INSERT (и тогда оно инициализировалось бы SQL server'ом). Если же проперть указана, то вставлял своё значение. В идеале, неплохо бы ещё доставать эту default строку селектом и засовывать в проперть.
NonUpdatable, понятно, не подходит — вставка зависит от значения класс.Status; Может, что-то решает атрибут DefaultValue?
Заранее спасибо, что уделили время!
Re: Как заставить BLT брать default из колонки таблицы?
Здравствуйте, matumba, Вы писали:
M>Подробно: есть колонка таблицы, скажем "Status char(4) NOT NULL DEFAULT('TODO')". При вставке записи, я бы хотел, чтобы если проперть класса Status = null, то BLT не вставлял поле в INSERT (и тогда оно инициализировалось бы SQL server'ом). Если же проперть указана, то вставлял своё значение. В идеале, неплохо бы ещё доставать эту default строку селектом и засовывать в проперть.
ед. чем могу помочь — поделиться опытом — я в случае, если у меня в таблице есть значение по умолчанию делаю для поля\свойства класса точно такое-же. для абстрактных классов для этого можно использовать аттрибут Parameter
Re[2]: Как заставить BLT брать default из колонки таблицы?
Здравствуйте, ili, Вы писали:
ili>ед. чем могу помочь — поделиться опытом — я в случае, если у меня в таблице есть значение по умолчанию делаю для поля\свойства класса точно такое-же.
ili, а можно немного пояснить кодом? Не улавливаю, что там делается "такое же". Поле помечается каким-то атрибутом? Или заполняется дефолтовым значением в конструкторе?
Re[3]: Как заставить BLT брать default из колонки таблицы?
Здравствуйте, matumba, Вы писали:
M>ili, а можно немного пояснить кодом? Не улавливаю, что там делается "такое же". Поле помечается каким-то атрибутом? Или заполняется дефолтовым значением в конструкторе?
в базе для некоторого поля мы имеем значение по умолчанию на поле SomeValue = 1010
в коде делаем так:
public class SomeClass
{
public int SomeValue = 1010 //или в конструкторе для свойства
}
// для абстрактных классов можно так:public abstract class SomeClass
{
[Parameter(1010)]
puplic abstract int SomeValue { get; set; }
}
таким макаром мы снимаем проблему расхождения значений по умолчанию в БД и в объектной модели, более того не получаем непоняток со стороны пользователя, когда он вроде что-то ввел в справочник, в поле значение не задавал, а после обновления из базы оно приобрело какое-то значение.