ورود

View Full Version : رابطه چند به چند در Code First



oracle_dba
چهارشنبه 21 بهمن 1394, 12:32 عصر
سلام
توی Entity Framework برای رابطه چند به چند نیاز به ایجار کلاس واسط نیست و جدول واسط بصورت اتوماتیک ساخته میشه . . درسته ؟
پس حالا برای ساخت کنترلر و ویو های جدول واسط چیکار باید کرد . من جدول نقش ها و جدول کاربران ارتباط چند به چند دارند . نمیدونم چطور برای تخصیص نقش به کاربر باید اقدام کنم . کلاس واسط که ساخته نمیشه که بخواهیم بر اساس اون کنترلی بسازیم و ویو های متناظر رو ایجار کنیم
ممنون میشم راهنمایی کنید

در جدول کاربران

public virtual IList<Role> Role { get; set; }
در جدول نقش ها


public virtual IList<User> User { get; set; }

oracle_dba
پنج شنبه 22 بهمن 1394, 14:59 عصر
پاسخ :
بالاخره فهمیدم که چطور باید این ارتباط بر قرار بشه
یک ارتباط چند به چند تبدیل میشه به یه جدول واسه و در code first میشه یه کلاس واسط و ارتباط هر دو کلاس دیگه با این کلاس واسط یک ارتباط یک به چنده
در هر دو کلاس اصلی این ارتباط رو برقرار می کنیم
در کلاس نقش ها


public virtual IList<UserRole> UserRole { get; set; }

در کلاس واسط


public virtual UserAccount User { get; set; }

در کلاس کاربران


public virtual IList<UserRole> UserRole { get; set; }

r4hgozar
چهارشنبه 28 بهمن 1394, 11:06 صبح
سلام.
بله.
اما شما در ارتباط چند به چند بهتره از Flunt api استفاده کنید.
http://www.entityframeworktutorial.net/code-first/configure-many-to-many-relationship-in-code-first.aspx