View Full Version : بدست آوردن مقدار فيلد Auto Increment در LINQ
bill_geits
شنبه 31 مرداد 1388, 10:08 صبح
سلام
من تو برنامم براي كار با بانك از LINQ استفاده ميكنم .
سوال من اينه كه چطوري ميشه مقدار يك فيلد Auto Increment را موقع درج ركورد جديد بدست آورد.
اگه سوالمو اينجا مطرح كردم ببخشيد .
ممنون ميشم اگه راهنمايي كنيد . :قلب:
bill_geits
شنبه 31 مرداد 1388, 12:40 عصر
چرا كسي جواب نميده ؟!! :ناراحت:
اين كار اگه از كلاس SqlCommand استفاده كني شدنيه , در LINQ هم حتما ميشه اين كار رو كرد.
bill_geits
یک شنبه 01 شهریور 1388, 09:19 صبح
خدايي جواب بدين . مشكل من اينه كه برنامم تحت شبكه كار ميكنه و نميتونم با استفاده از تابع MAX ويا روشهاي ديگه خودم آخرين مقدارش رو بدست بيارم. و پس از ثبت شدن فرد به ID اون نياز دارم . چيكار كنم ؟
يكي از روشهاش شايد استفاده از SP باشه ولي من تا بشه ميخوام از اين روش استفاده نكنم چون كل كدم تغيير ميكنه !!
bill_geits
یک شنبه 01 شهریور 1388, 09:47 صبح
ببخشيد دوستان مشكل از خودم بود !!.
وقتي كه يك ركورد را درج ميكنيم و SUBMITCHANGE ميكنيم مقدارش خودش مياد داخل Property كلاس .
من قبلا اين رو تست كرده بودم ولي مشكلش اين بود كه تو كلاس DataContex نوع اون فيلد AutoGenerateValue نبود .
البته اگه تو بانك از اول AutoNumber باشه خودش مياره ولي من از اول اينطوري نبود !!
مشكلم حل شد.
k_m
یک شنبه 01 شهریور 1388, 10:27 صبح
خدا و شکر که مشکلت حل شد.
می تونستی برای حل این مشکل به جای یک فیلد Auto Increment از یک فیلد با نوع Guid استفاده کنی.
dot net تضمین می کنه، مقداری که generate میشه هیچ موقع تکراری نباشه.
به راحتی با generate کردن یک Guid جدید در کدت قبل از درج در DB اون را داری و می تونی کلیه درج اطلاعات در جداول دیگر رو هم انجام بدی و بعد با DB اصلی sync کنی.
bill_geits
یک شنبه 01 شهریور 1388, 12:09 عصر
من مشكلم حل شد ولي روش شما هم روش جالبيه.
اگه ميشه كدي كه يك مقدار منحصر به فرد از كلاس Guid ميده را بذاريد تا ملت استفاده كنن. :قلب:
k_m
یک شنبه 01 شهریور 1388, 13:07 عصر
اگه ميشه كدي كه يك مقدار منحصر به فرد از كلاس Guid ميده را بذاريد تا ملت استفاده كنن. :قلب:
برای اینکه یک مقدار منحصر به فرد ایجاد کنید کار خاصی نیاز نیست انجام بدید کافی است این کد رو بنویسید:
Guid _id= Guid.NewGuid();
یک کد می ده با فرمت زیر :
XXXXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX که دات نت تضمین یکتا بودنش رو می کنه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.