سلام
دوست عزیز، مثل این که کار زیاد داریم.
1. کی گفته که FK_UID باید کلید باشه؟ این خیلی کار اشتباهیه.
2. FID باید حتماً کلید اصلی باشه.
3. در این صورت ارتباط یک به چند خواهد بود.
4. اگه از Database First استفاده می‌کنی حتماً باید همه ارتباط‌ها رو توی دیتابیس مشخص کنی و
بعد EDMX رو بسازی
و مطلقاً تو DataModel تغییری نده.
5. یعنی چی که «در صورت نیاز» باید fId کلید بشه؟ خوب معلومه که باید کلید باشه.

دوست من، طراحی دیتابیس اصولی داره که باید اونا رو بشناسی و رعایت کنی. یه جاهایی هست که می‌تونی به سلیقه‌ی
خودت چیزهایی رو تغییر بدی یا دیتابیس رو از نرمال خارج کنی. اما این دیگه به نظر من غیر قابل قبوله که بجای کلید اصلی،
کلید خارجی رو کلید اصلی کنی و . . .

دو تا پیش‌نهاد دارم:
1. قبل از شروع کار، یه زمانی بگذار و روی طراحی دیتابیس یه مطالعه کوچیک انجام بده. یا این که این قسمت رو
به یه طراح واگذار کن و خودت فقط کد برنامه رو بر اساس دیتابیس طراحی شده انجام بده.
2. اگه کارت رو تازه داری شروع می‌کنی، همه این‌ها رو بگذار کنار و CodeFirst کار کن. حالا که می‌خوای یاد بگیری
به‌تره که از آخرین تکنولوژی‌ها استفاده کنی.

صبا صبوحی