saviorperi
پنج شنبه 15 فروردین 1392, 00:08 صبح
سلام دوستان
ما در MVC4 کلاسی به نام UserProfile داریم (و همینطور جدولی در پایگاه داده)، داخل این کلاس به صورت پیش فرض UserId و UserName رو داریم، من به راحتی تونستم از UserId به عنوان کلید خارجی در جدول دیگه استفاده کنم ولی از اونجایی که وقتی کاربری وارد سایتمون شده میتونیم بدون اتصال به پایگاه داده از طریق کد User.Identity.Name به UserName کاربر دسترسی داشته باشیم (فکر کنم برای بدست آوردن UserId باید به پایگاه داده متصل شد) میخوام از UserName به عنوان کلید خارجی استفاده کنم. مشکل اینجاست که نتونستم این کار رو انجام بدم. مثلا کد زیر رو نوشتم که اونم خطا داد.
public class Post
{
public int Id { get; set; }
public string Text { get; set; }
public string UserName { get; set; }
[ForeignKey("UserName")]
public UserProfile UserProfile { get; set; }
}
کارای دیگری هم کردم ولی موفق نشدم، دوستان اگر میتونید ممنون میشم در این مورد کمکم کنید.
ما در MVC4 کلاسی به نام UserProfile داریم (و همینطور جدولی در پایگاه داده)، داخل این کلاس به صورت پیش فرض UserId و UserName رو داریم، من به راحتی تونستم از UserId به عنوان کلید خارجی در جدول دیگه استفاده کنم ولی از اونجایی که وقتی کاربری وارد سایتمون شده میتونیم بدون اتصال به پایگاه داده از طریق کد User.Identity.Name به UserName کاربر دسترسی داشته باشیم (فکر کنم برای بدست آوردن UserId باید به پایگاه داده متصل شد) میخوام از UserName به عنوان کلید خارجی استفاده کنم. مشکل اینجاست که نتونستم این کار رو انجام بدم. مثلا کد زیر رو نوشتم که اونم خطا داد.
public class Post
{
public int Id { get; set; }
public string Text { get; set; }
public string UserName { get; set; }
[ForeignKey("UserName")]
public UserProfile UserProfile { get; set; }
}
کارای دیگری هم کردم ولی موفق نشدم، دوستان اگر میتونید ممنون میشم در این مورد کمکم کنید.