2009-02-06 2 views
0

У меня есть объект SQL Linq 2, который я пытаюсь обновить. Два свойства на этом объекте связаны друг с другом, и установка одной устанавливает другую.Можете ли вы запретить LinqDataSource устанавливать свойство?

Так что, если я делаю:

Foo.Code = ПИВО;

Свойство Foo.CodeID будет автоматически установлен в 5 (или любой другой).

Проблема заключается в том, что LinqDataSource устанавливает Foo.Code, то сразу устанавливает Foo.CodeID ... который не привязан ни к чему, так как мы хотим, чтобы пользователи установили только код. Это немедленно возвращает их обратно в нуль.

Я знаю, что могу использовать параметры для значений по умолчанию, но есть ли способ сказать LinqDataSource даже не устанавливать свойство?

EDIT: Работала с проблемой, создав скрытое поле и присвоив правильное значение этому значению в событии ItemUpdating формы. Хотелось бы еще раз избегать того же поиска четыре раза, хотя ...

ответ

0

Возможно ли было бы сделать свойство Code частным (выберите свойство «Код» в dbml и установите свойство доступа в окне «Свойства») и создайте новая государственная собственность, над которой у вас больше контроля?

Я лично написал генератор, который генерирует необходимые файлы для меня (например, sqlmetal), давая мне полный контроль над кодом. Возможно, это и вариант для вас, если вам не нравится сгенерированный dbml.

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