Siegfried Dorn 3 лет назад
Родитель
Сommit
d7b3fe5548
2 измененных файлов: 42 добавлений и 25 удалений
  1. +6
    -2
      EF_Code_First/Models/Grade.cs
  2. +36
    -23
      EF_Code_First/Program.cs

+ 6
- 2
EF_Code_First/Models/Grade.cs Просмотреть файл

@@ -9,7 +9,7 @@ namespace EF_Code_First.Models
public int GradeId { get; set; } public int GradeId { get; set; }
public string? GradeName { get; set; } public string? GradeName { get; set; }
public string? Section { get; set; } public string? Section { get; set; }
[ForeignKey("StudentId")]
//[ForeignKey("StudentId")]
public ICollection<Student>? Students { get; set; } public ICollection<Student>? Students { get; set; }




@@ -20,7 +20,11 @@ namespace EF_Code_First.Models
builder.Append('\u002C'); builder.Append('\u002C');
builder.Append(GradeName); builder.Append(GradeName);
builder.Append('\u002C'); builder.Append('\u002C');
builder.Append(Students.Count);
if (Students != null)
{
builder.Append(Students.Count);
}
return builder.ToString(); return builder.ToString();
} }
} }


+ 36
- 23
EF_Code_First/Program.cs Просмотреть файл

@@ -8,27 +8,18 @@ namespace EF_Code_First
public class Program public class Program
{ {
static void Main(string[] args) static void Main(string[] args)
{
AddStudent();
ShowStudentsWithGrade();
}
static public void ShowStudentsWithGrade()
{ {
using (var ctx = new SC_DbContext()) using (var ctx = new SC_DbContext())
{ {
/*
var grade = ctx.Grades.Single(g => g.GradeId == 5);


var stud = new Student()
{
StudentName = "Michael Maier",
Weight = (float?)102,
Height = (decimal?)175,
DateOfBirth = DateTime.Parse("1970-10-11"),
Grade = grade
};
Console.WriteLine($"new Student: {stud}");
ctx.Students.Add(stud);
ctx.SaveChanges();
*/
List<Grade> grades = ctx.Grades List<Grade> grades = ctx.Grades
.Include(st=> st.Students)
.Include(st => st.Students)
.ToList(); .ToList();
foreach (var grade in grades) foreach (var grade in grades)
{ {
@@ -36,19 +27,41 @@ namespace EF_Code_First
} }


List<Student> students = ctx.Students List<Student> students = ctx.Students
.Include(g=> g.Grade)
.Include(g => g.Grade)
.ToList(); .ToList();


foreach (var s in students) foreach (var s in students)
{ {
Console.WriteLine(s.ToString());
Console.WriteLine(s.ToString());
} }

Console.WriteLine(ctx.DbPath);
}

}

static public void AddStudent()
{
using (var ctx = new SC_DbContext())
{
var grade = ctx.Grades.Single(g => g.GradeId == 5);


var stud = new Student()
{
StudentName = "Michael Maier",
Weight = (float?)102,
Height = (decimal?)175,
DateOfBirth = DateTime.Parse("1970-10-11"),
G_Id = grade.GradeId,
Grade = grade
};
Console.WriteLine($"new Student: {stud}");
ctx.Students.Add(stud);
ctx.SaveChanges();
Console.WriteLine (ctx.DbPath);

} }
} }
} }


Загрузка…
Отмена
Сохранить