PDA

View Full Version : سوال: مشكل در دسترسي به جدول مياني به هنگام استفاده از Entity Framework



baran_bataravat
جمعه 08 مهر 1390, 12:29 عصر
من سه جدول User، Rol و UserRol دارم كه جدول Userو Rol از طريق جدول UserRol در ارتباط هستند، زماني كه من يك Entity از ديتابيس درست كردم جدول UserRol آورده نمي شود در برنامه كه از لينك استفاده مي كنم من چطور بايد به جدول UserRol دسترسي داشته باشم.

Program.net
شنبه 09 مهر 1390, 09:35 صبح
جدول USERROL باید PrimaryKey داشته باشه شاید به این دلیل اضافه نمیشه

baran_bataravat
شنبه 09 مهر 1390, 10:06 صبح
جدول USERROL باید PrimaryKey داشته باشه شاید به این دلیل اضافه نمیشه
در جدول UserRol تنها دو فيلد وجود دارد كه هر دو تا با هم كليد اصلي هستند كه يك كليد آن به جدول User و كليد دوم با جدول Rol در ارتباط هست.
مشكل من اين كه نمي تونم يك كوئري شبيه به
select ToDetermine from dbo.TRols where RolCode=(
select RolCode from TUserRols where UserCode=@CurrentUser )
با Entity Framwork پياده كنم

Program.net
شنبه 09 مهر 1390, 10:12 صبح
مگه یک جدول میتونه 2 تا primary key داشته باشه؟!؟!؟!؟!؟!؟ مشکل شما اینه که جدول اضافه نمیشه یا query جواب نمیده؟ چرا join نمیزنی؟

relax_cp
پنج شنبه 14 مهر 1390, 14:35 عصر
به نظر من اگه فقط این جدول همین دوتا فیلد رو داره اصلا میتونه این جدول وجود نداشته باشه و با join به شکل سریعتری کار رو انجام بدی.
به نظر من استفاده از join خیلی سریعتر و صحیحتر هست نسبت به استفاده از select های تو در تو.
در عین حال من متوجه نشدم شما بالاخره از LINQ استفاده میخواهی بکنی یا خیر ولی اگه نمی خواهید از LINQ استفاده کنی میتونی از همین join استفاده کنید.
موفق باشید

baran_bataravat
شنبه 23 مهر 1390, 10:43 صبح
نه مشكل من رو join اين چيزا نيست، من دو تصوير از دياگرام و مدل Entity گذاشتم،‌در دياگرام سه جدول User، Rol و UserRol آورده شده است ولي در مدل Entity جدول userRol آورده نشده است. من چطور ميتونم در برنامه به اين جدول دسترسي پيدا كنم
7662276623

asif1358
شنبه 23 مهر 1390, 12:13 عصر
سلام. منطق کار شما درست است؛ ولی پیاده سازی به نظرم اشکال دارد؛ TUserRoles باید یک کلید اصلی و دو کلید خارجی به دو جدول دیگر داشته باشد؛ فکر کنم روش درست ارتباط چند به چند این گونه باشد