gpt4 book ai didi

c# - Entity Framework 中的构造函数初始化

转载 作者:行者123 更新时间:2023-11-30 23:12:44 24 4
gpt4 key购买 nike

我想知道这两个代码之间的区别不明白我应该在构造函数中初始化什么属性:代码一:

public class Student
{
public Student()
{
this.Courses = new HashSet<Course>();
}

public int StudentId { get; set; }
[Required]
public string StudentName { get; set; }

public virtual ICollection<Course> Courses { get; set; }
}

public class Course
{
public Course()
{
this.Students = new HashSet<Student>();
}

public int CourseId { get; set; }
public string CourseName { get; set; }

public virtual ICollection<Student> Students { get; set; }
}

代码2:

public class Student
{
public int StudentId { get; set; }
[Required]
public string StudentName { get; set; }

public virtual ICollection<Course> Courses { get; set; }
}

public class Course
{
public int CourseId { get; set; }
public string CourseName { get; set; }

public virtual ICollection<Student> Students { get; set; }
}

谁能帮我理解这两个代码的区别,谢谢

最佳答案

在数据库上下文中使用模型时避免空引用异常,或者一般来说,最好使用最能表达您意图的集合。如果你不是特别打算使用 HashSet 的独特特性,我不会使用它。

关于c# - Entity Framework 中的构造函数初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43926699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com