用户对象未设置为对象的实例



据我所知,这是一个非常经典的错误。我试图确切地理解为什么会发生这种情况,但是我不明白为什么它在我的代码中发生。我有两个类,用户:

public class User
    {
        [Key]
        public string Username { get; set; }
        public string DisplayName { get; set; }
        public List<Organization> Organizations { get; set; }
    }

和组织:

public class Organization
    {
        public int OrganizationId { get; set; }
        public string OrganizationName { get; set; }
    }

在我的主要程序中,我的目标是创建一个新的组织,并使用用户提供的名称。然后,我想从用户那里获得用户名。然后,首先要将组织添加到此用户。据我所知,我的main((正在处理一个对象的实例吗?主要看起来像这样: Console.Write("输入组织名称:"(; var orgname = console.readline((;

            var org = new Organization{OrganizationName = orgName};
            db.Organizations.Add(org);
            db.SaveChanges();
            Console.WriteLine("Enter username: ");
            var userName = Console.ReadLine();
            var user = new User {Username = userName};
            user.Organizations.Add(org); //I get the exception on this line
            db.Users.Add(user);
            db.SaveChanges();

确切的例外是:" codefirstnewdatabasemample.user.user.organizations.get返回null。"

您需要将Organizations属性初始化为空列表:

public class User
{
    [Key]
    public string Username { get; set; }
    public string DisplayName { get; set; }
    public List<Organization> Organizations { get; set; } = new List<Organization>();
}

不建议使用以下内容,因为它很容易出现您存在的问题:
或:

var user = new User { Username = userName };
user.Organizations = new List<Organization>();
user.Organizations.Add(org);

相关内容

  • 没有找到相关文章

最新更新