PDA

View Full Version : Objectdatasource و مشکلات Optimistic Concrrency



maryam_80
جمعه 12 بهمن 1386, 09:20 صبح
با سلام
من در پروژه ام از لایه های DAL و BLL استفاده کرده ام و در زمان ایجاد لایه DAL گزینه Optimistic Concurrency را تیک زدم.
مشکلی که برای من پیش آمده این هست که برخی از جداول من شامل فیلدهای Null پذیر می باشند که اساتید می دانند وجود این نوع فیلدها در حالت Optimistic باعث درست عمل نکردن متدهای Delete و update می شود (چون به دنبال فیلدهای original می گردد)
من می خواستم بدونم آیا راهی هست که با وجود این مشکل بتوان همچنان به صورت مستقیم و بدون نوشتن کد برای عملیات ویرایش و حذف از متدهای مربوطه استفاده کرد؟؟

لازم بذکر است که من همه موارد از قبیل تغییر Original-{0} به {0} و یا compareAllvalue و... را انجام داده ام

(زبان برنامه نویسی C# و استفاده از Objectdatasource برای دسترسی به لایه Bll )

cpu0001100110000101
جمعه 12 بهمن 1386, 14:16 عصر
با توجه به اینکه در Database های متعارف حاصل هر عمل مقایسه ای با مقدار null غلط خواهد بود من پیشنهاد می کنم این اصلاح رو برای فیلد های allow null در Query های update & delete اعمال کنید :

شرط فعلی :

(SomeField = @Original_SomeField)
تبدیل کنید به:
(SomeField = @Original_SomeField OR (SomeFiled IS NULL AND @Original_SomeFiled IS NULL))

maryam_80
جمعه 12 بهمن 1386, 16:51 عصر
تمام query های من به این شکل هست ولی همچنان کار نمی کند

cpu0001100110000101
جمعه 12 بهمن 1386, 20:42 عصر
اگه مایل هستید یکی از Query ها به علاوه ساختار جدول رو ارسال کنید ... چون روشی که گفتم پیاده کردم و جواب گرفتم