View Full Version : سوال: ایجاد شناسه برای یک رکورد خاص
neverlieme
سه شنبه 01 مهر 1393, 16:34 عصر
سلام خسته نباشید
میخواستم بدونم که میشه در sql server یا entity framework برای یک فیلد خاصیتی تعیین کرد که فقط بشه توی یک رکورد اون فیلدو پر کرد؟
مثلا فرض کنید یک جدولی داریم اطلاعات مشتری ها رو داره و یک جدول هم شماره تماس های اونارو
یک ریلیشن از نوع one to many ایجاد میکنیم (one برای مشتری و many برای شماره تماس) حالا میخوام تو جدول تماس های مختص هر کاربر بشه یه شماره رو به عنوان شماره ی اصلی انتخاب کرد. به عبارتی یک فیلد از نوع bool تو جدول شماره ها بذارم که فقط یک بار بشه اونو true کرد. امیدوارم منظورمو فهمیده باشید. اگر هنوز هم براتون گنگه بگید توضیح بیشتر بدم
خیلی ممنون
parvizwpf
سه شنبه 01 مهر 1393, 17:22 عصر
من بنظرم جواب رو خودتون دادید دیگه. اما اینکه روی رکورد خاصی عملی انجام بشه میتونید بجاش شماره ها رو رتبه بندی کنید البته دنگ و فنگ خودشو داره.
neverlieme
سه شنبه 01 مهر 1393, 21:02 عصر
من بنظرم جواب رو خودتون دادید دیگه. اما اینکه روی رکورد خاصی عملی انجام بشه میتونید بجاش شماره ها رو رتبه بندی کنید البته دنگ و فنگ خودشو داره.
سوال من در اصل اینه که چطوری میتونم یک جدولی بسازم که یه فیلدش وقتی تو اولین رکوردی که مقدار دهی شد دیگه قابل مقدار دهی نباشه. ینی به ازای بقیه ی رکورد ها نول باشه فقط به ازای یکی از اونا پر باشه نه بیشتر. اینو من چطوری پیاده سازی کنم؟ داخل ssms یا ef model design چنین قابلیتی وجود داره؟
parvizwpf
چهارشنبه 02 مهر 1393, 09:33 صبح
ما در کل رکوردی نداریم که قابل مقدار دهی نباشه.برای اینکه بگید این شماره (یعنی رکورد) از این کاربر بعنوان اصلی باشه که باید فیلدی از همون بولین که گفتید ایجاد کنید. این رو باید خودتون مدیریت کنید که اولا بفهمید این اصلی هست یا نه. بعد هم دیگه میتونید به ازای همه شماره هاش چک کنید اگه یکی نال نبود پس این مقدار آیا ست شده یا خیر . با هر دو امکان پذیره.امیدوارم درست متوجه شده باشم.
neverlieme
چهارشنبه 02 مهر 1393, 16:55 عصر
ما در کل رکوردی نداریم که قابل مقدار دهی نباشه.برای اینکه بگید این شماره (یعنی رکورد) از این کاربر بعنوان اصلی باشه که باید فیلدی از همون بولین که گفتید ایجاد کنید. این رو باید خودتون مدیریت کنید که اولا بفهمید این اصلی هست یا نه. بعد هم دیگه میتونید به ازای همه شماره هاش چک کنید اگه یکی نال نبود پس این مقدار آیا ست شده یا خیر . با هر دو امکان پذیره.امیدوارم درست متوجه شده باشم.
بله درست متوجه شدید. پس منظورتون اینه که امکان تعریف چنین فیلدی وجود نداره و من باید تو مرحله ی برنامه نویسی هر موقع می خوام به این فیلد مقدار بدم کل رکورد های جدولو از طریق یه حلقه چک کنم ببینم همه پوچن یا نه؟ یعنی راه دیگه ای وجود نداره؟
parvizwpf
چهارشنبه 02 مهر 1393, 17:03 عصر
جواب قاطعی نمیدم. این یه روش هست. ببنینید دوستان دیگه چه نظری دارند.
Mahmoud.Afrad
جمعه 04 مهر 1393, 03:25 صبح
میتونی با یک جدول دیگه مشکل رو حل کنی. جدولی که دارای کلید شخص و کلید شماره هست. در صورتی که قبلا برای شخص شماره اصلی ثبت شده بود خود به خود شماره های دیگر شخص غیراصلی خواهند شد.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.