Можете ли вы предотвратить LinqDataSource от установки свойства? - PullRequest
1 голос
/ 07 февраля 2009

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

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

Foo.Code = ПИВО;

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

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

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

РЕДАКТИРОВАТЬ: Обойти проблему, создав скрытое поле и присвоив ему правильное значение в событии ItemUpdating формы. Тем не менее, хотелось бы избегать повторения одного и того же поиска четыре раза ...

1 Ответ

0 голосов
/ 07 февраля 2009

Будет ли возможность сделать свойство кода частным (выбрать свойство кода в dbml и установить свойство доступа в окне свойств) и создать новое открытое свойство, над которым у вас есть больше контроля?

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

...