ASP.NET MVC和实体框架自定义getter setter不起作用

时间:2019-03-03 11:27:25

标签: c# asp.net-mvc entity-framework

我想在user.cs模型中覆盖getter和setter方法,但它不起作用,尝试登录时出现错误,当我尝试不覆盖时,它运行正常。

public string UserPassword
{
     get { return this.UserPassword; }
     set { this.UserPassword = value; }
}

当我尝试登录时,出现此错误:

  

在PMS.dll中发生了'System.StackOverflowException'类型的未处理异常

请检查屏幕截图。

Error image

1 个答案:

答案 0 :(得分:3)

  

StackoverFlow异常:这通常意味着您在代码中有一个递归调用。递归只是一种调用   本身,导致堆栈溢出并抛出StackoverFlow   例外

在您的情况下,UserPassword属性以递归方式对其自身进行调用,从而导致堆栈溢出。

您需要像下面那样更改属性。

public string UserPassword
{
    get;
    set;
}

或类似

string _userPassword;

public string UserPassword
{
    get { return _userPassword; }
    set { _userPassword = value; }
}