PDA

View Full Version : حرفه ای: (SubSonic) مشکل در حذف (و ویرایش) رکورد از جدول دارای فیلد Deleted



Rejnev
جمعه 12 فروردین 1390, 12:02 عصر
سلام...
از subsonic نسخه 3.0.0.4 استفاده میکنم.
یک جدول آزمایشی با فیلدهای
id int identity
name nvarchar
Deleted bit
ساختم.
هدفم استفاده از فیلد deleted بود. توی داکیومنت این ORM نوشته شده در صورتی که جدول دارای فیلدی به نام deleted یا isDeleted باشه، بعد از حذف رکورد، مقدار این فیلد true میشه و حذف (delete from) صورت نمیگیره.
برنامه نمیتونه update رو به پایان برسونه:

68125

هیچ نوع update ای کار نمیکنه (چه از طریق مخزن و چه با ساخت یک نمونه از جدول و فراخوانی متد update).
مشکل از فیلد deleted است، چون سایر جداول مشکلی ندارند...
البته درج رکورد جدید با استفاده از update و یا save امکان پذیره:

Test t = new Test();
t.Name = "testRecord";
t.Update(); //it works fine

----------------------
سورس کد subsonic رو هم از نت گرفتم اما نیاز به vs2010 داره. تازه خطایابیش هم باید سخت باشه.
اگه از اساتید قبلا این مشکل را رفع کردن، راهنمایی بفرمایند.
با تشکر...

Rejnev
جمعه 12 فروردین 1390, 14:44 عصر
تا حدودی به منشا مشکل رسیدم، اما هنوز علت دقیقش رو نمیدونم:
توی پست اول از sql 2000 استفاده می کردم.
توی یک آزمایش، subsonic رو با استفاده از sql2008 کانفیگ کردم. مشکل مرتفع شد. حتی وقتی که connection String رو به 2000 تغییر میدم باز هم کار میکنه.
اما با یک خطای جدید مواجه شدم:
68134
وقتی دستور لامبادایی به Delete میفرستم که رکورد وجود نداره، خطای بالا رو نمایش میده.
کدی که به Delete میفرستم شبیه زیره:

Test.Delete(a=>a.Id==1); //id '1' is not exsits!

راهنمایی Plz!