Witam,
Moja baza wygląda tak że zawiera talele "Classrooms" oraz "Subjects", przy czym każdy z Classrooms może zawierać kilka Subjects a więc klasa Classrooms wygląda następująco (połączona oczywiście relacja jeden do wielu poprzez dodatkową tabele w bazie SubjectsInClasrooms zawierającą powiązane ID jednego Classrooms oraz jednego Subjects):
public partial class Classrooms
{
public Classrooms()
{
this.Subjects1 = new HashSet<Subjects>();
}
public int Classroom_Id { get; set; }
public string Name { get; set; }
public string ShortName { get; set; }
public int Capacity { get; set; }
public virtual ICollection<Subjects> Subjects1 { get; set; }
}
Teraz tak chciałbym stworzyć metodę która usunie jedno powiązane z SubjectsInClassrooms co próbowałem osiągnać tak lecz mi nie wychodzi:
public void DeleteSubjectFromClassroom(int Classroom_Id, int Subject_Id)
{
using (var db = this.context.CreateNew())
{
var obj = db.Classrooms
.FirstOrDefault(x => x.Classroom_Id == Classroom_Id).Subjects1
.Select(y => y.Subject_Id == Subject_Id);
if (obj != null)
{
db.Classrooms.
db.SaveChanges(obj);
}
}
}
Jak to ugryźć?
Czy usuniecie powiązania z "ICollection<Subjects> Subjects1" nie spowoduje usunięcia elementu z tabeli Subject? (Chce usunąć jedynie powiązanie między nimi)