|
LINQ To SQL и события PropertyChanged() и OnCreate()
|
|||
---|---|---|---|
#18+
Здравствуйте снова! Плюнул на EF и решил заняться LINQ To SQL. Все проблемы решились. Осталась только одна: При изменении или добавлении необходимо менять значения системных полей. Я добился нужного поведения, вручную поменяв соответствующие методы нужных классов в сгенерированном файле LINQ To SQL. Проблема возникает, если меняется схема данных - файл перегенерируется и все изменения надо вносить снова. Вопрос - есть ли какие либо способы "автоматизировать" процесс? Или я, как обычно, копаюсь в совсем не том направлении? P.S. Нет, вынести функционал в БД не получится - если бы можно было, то проблеммы бы не возникло бы в принципе... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 17:50 |
|
LINQ To SQL и события PropertyChanged() и OnCreate()
|
|||
---|---|---|---|
#18+
partial classes / methods? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 20:20 |
|
LINQ To SQL и события PropertyChanged() и OnCreate()
|
|||
---|---|---|---|
#18+
плюнь тоже переходи на начало Датаридер Дататабле.Лоад и будет тебе счастье независимым бушь как юго чавеси лукашка батька матросов ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 20:30 |
|
LINQ To SQL и события PropertyChanged() и OnCreate()
|
|||
---|---|---|---|
#18+
Поздно... :) Да и как то уже притерпелся к EF/LINQ, осталось только дождаться, пока их до ума доведут. Но времени нет - сроки поджимают, да и почти весь функционал уже реализован. partial class? Хммм... Я еще не ознакомился с этим явлением, потому как бедствовал на Delphi до недавних пор. Но если менять классы, сгенерированные LINQ, то они живут только до следующего обновления... :( ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2009, 22:31 |
|
LINQ To SQL и события PropertyChanged() и OnCreate()
|
|||
---|---|---|---|
#18+
Спасибо за советы - с partial классами все великолепно заработало! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2009, 12:03 |
|
LINQ To SQL и события PropertyChanged() и OnCreate()
|
|||
---|---|---|---|
#18+
Не хотел создавать новую тему, тем более, что название этой вполне подходит :) Есть две табл. в БД, связаны один-ко-многим. В схеме добавлены, ассоциация имеется, Parent и Child свойства настроены (в смысле, имена прописаны - пусть будут ParentObject и ChildObjects). Сами свойства присутствуют в классах. Возникла задача: взять дочернюю сущность и перекинуть ее в другого родителя. При этом, конечно, нужно всунуть какую-то логику проверки/дополнительных изменений. Логику хочу добавить в событие дочки Onparent_idChanging(int value) (вроде логично, да?) Если просто получить дочернюю сущность и поменять parent_id, не запрашивая самого ParentObject, то все отлично: логика сработает, ошибок нет. Но логике может понадобиться получить какие-то поля ParentObjeсt до смены parent_id - и тогда при присвоении parent_id возникнет исключение "Операция является недопустимой из-за текущего состояния объекта." Вариант второй - вроде бы более красивый: у дочки менять не parent_id, а сам ParentObject. Т.е. по id получаем linq объект-родителя newParent и присваиваем: child.ParentObject = newParent; Но проблема в том, что для ParentObject не создаются события On*Changing, On*Changed - они, видимо, создаются только для тех полей, что взяты из БД. И, конечно же, события Onparent_idChanging тоже не срабатывают - ведь parent_id же не меняется напрямую :) Вопрос: как быть в таком случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2012, 10:55 |
|
|
start [/forum/topic.php?fid=17&msg=36016489&tid=1350270]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 304ms |
total: | 474ms |
0 / 0 |