سلام من طبق آموزش جلو میرم توی قسمت کیف پول یه فیلد اتوماتیک اضافه میشه که من اصلا ندارمش
public class Wallet
{
public Wallet()
{
}
[Key]
public int WalletId { get; set; }
[Display(Name = "نوع تراکنش")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int TypeId { get; set; }
[Display(Name = "کاربر")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int UserId { get; set; }
[Display(Name = "مبلغ")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int Amount { get; set; }
[Display(Name = "شرح")]
[MaxLength(500, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string Description { get; set; }
[Display(Name = "تایید شده")]
public bool IsPay { get; set; }
[Display(Name = "تاریخ و ساعت")]
public DateTime CreateDate { get; set; }
public virtual User.User User { get; set; }
public virtual WalletType WalletType { get; set; }
}
سلام
روابط شما مشکل داره
بررسی کنید
استاد از سورس کپی کردم
ClassUser
[Key]
public int UserId { get; set; }
[Display(Name = "نام")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string FirstName { get; set; }
[Display(Name = "نام خانوادگی")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string LastName { get; set; }
[Display(Name = "ایمیل")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
[EmailAddress(ErrorMessage = "ایمیل وارد شده معتبر نیست")]
public string Email { get; set; }
[Display(Name = "کلمه عبور")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(200, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string Password { get; set; }
[Display(Name = "موبایل")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
[MaxLength(50, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string Mobile { get; set; }
[Display(Name = "کد فعال سازی")]
[MaxLength(50, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string ActiveCode { get; set; }
[Display(Name = "وضعیت")]
public bool IsActive { get; set; }
[Display(Name = "آواتار")]
[MaxLength(50, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد.")]
public string UserAvatar { get; set; }
[Display(Name = "تاریخ ثبت نام")]
public DateTime CreateDate { get; set; }
public bool IsDelete { get; set; }
#region Relations
public virtual List<UserRole> UserRoles { get; set; }
public virtual List<Wallet.Wallet> Wallets { get; set; }
#endregion
}
کلاس والت
public Wallet()
{
}
[Key]
public int WalletId { get; set; }
[Display(Name = "نوع تراکنش")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int TypeId { get; set; }
[Display(Name = "کاربر")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int UserId { get; set; }
[Display(Name = "مبلغ")]
[Required(ErrorMessage = "لطفا {0} را وارد کنید")]
public int Amount { get; set; }
[Display(Name = "شرح")]
[MaxLength(500, ErrorMessage = "{0} نمی تواند بیشتر از {1} کاراکتر باشد .")]
public string Description { get; set; }
[Display(Name = "تایید شده")]
public bool IsPay { get; set; }
[Display(Name = "تاریخ و ساعت")]
public DateTime CreateDate { get; set; }
public virtual User.User User { get; set; }
public virtual WalletType WalletType { get; set; }
}
کلاس نوع والت:
public WalletType()
{
}
[Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int TypeId { get; set; }
[Required]
[MaxLength(150)]
public string TypeTitle { get; set; }
public virtual List<Wallet> Wallets { get; set; }
جالبه
این فیلد توی تمام جداول من هم میاد، تا الان فکر نکرده بودم ممکنه مشکلی باشه!
چون پروژه مثل ساعت بدون مشکل کار میکنه و این فیلد همیشه توی دیتابیس خالی میمونه، با اینکه منم این فیلد رو نمیسازم
البته نه فقط در جدول کیف پول، توی تمام جداولی که روابط دارن ساخته میشه!