实体框架-设置一个“空”字整型为空

本文关键字:整型 一个 框架 设置 实体 | 更新日期: 2023-09-27 18:10:11

我的数据库中有一个名为Login的表。在这个表中,我有一个名为Head_ID的属性,它是可空的。

基本上,你可以有一个主任,或者你是主任。如果你是主任,Head_ID应该是空的。在我的应用程序中,我有可能更改一个人的主管(同事更改主管,主管降级并获得比他更高的主管),但此int不会设置为

Service.cs

public int EditLogin(LoginDTO login)
    {
        try
        {
            var dbLogin = DAO.HourRegInstance.Login.Single(x => x.ID == login.Id);
            dbLogin.Name = login.Name;
            dbLogin.Username = login.Username;
            if (login.Head_Id == 0)
            {
                //Doesn't work
                dbLogin.Head_ID = null;
            }
            dbLogin.Role_ID = login.Role_Id;
            DAO.HourRegInstance.SaveChanges();
            return 1;
        } catch(Exception e){
            return -1;
        }
    }

Login.cs

public partial class Login
{
    public Login()
    {
        this.HourRegistrationConfirmed = new HashSet<HourRegistrationConfirmed>();
        this.HourRegistrationConfirmed1 = new HashSet<HourRegistrationConfirmed>();
        this.Login1 = new HashSet<Login>();
        this.LoginProject = new HashSet<LoginProject>();
    }
    public long ID { get; set; }
    public string Name { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
    public long Role_ID { get; set; }
    public Nullable<long> Head_ID { get; set; }
    public virtual ICollection<HourRegistrationConfirmed> HourRegistrationConfirmed { get; set; }
    public virtual ICollection<HourRegistrationConfirmed> HourRegistrationConfirmed1 { get; set; }
    public virtual ICollection<Login> Login1 { get; set; }
    public virtual Login Login2 { get; set; }
    public virtual Role Role { get; set; }
    public virtual ICollection<LoginProject> LoginProject { get; set; }
}

一个人如何完成这样的任务?

实体框架-设置一个“空”字整型为空

我自己解决了这个问题

我不确定是什么原因导致了这个问题,但是重新启动服务后,现在一切似乎都工作正常。也许实体框架就是实体框架?