在我的应用程序中,我有讲师,他们有可以教授的课程列表,当我删除课程时,我想删除与讲师的联系.这是代码:
public void RemoveCourse(int courseId)
{
using (var db = new AcademicTimetableDbContext())
{
var courseFromDb = db.Courses.Find(courseId);
var toRemove = db.Lecturers
.Where(l => l.Courses.Contains(courseFromDb)).ToList();
foreach (var lecturer in toRemove)
{
lecturer.Courses.Remove(courseFromDb);
}
db.SaveChanges();
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我明白了
NotSupportedException:无法创建类型的常量值
Course.在此上下文中仅支持基元类型或枚举类型.
我究竟做错了什么?
我正在为我的项目使用MVVM,并且我正在尝试使用DataGrid将数据库中的表绑定.但是当我运行我的应用程序时,datagrid是空的.
MainWindow.xaml.cs:
public MainWindow(){
InitializeComponent();
DataContext = new LecturerListViewModel()
}
Run Code Online (Sandbox Code Playgroud)
MainWindow.xaml:
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Source=Lecturers}" >
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Surname" Binding="{Binding Surname}"/>
<DataGridTextColumn Header="Phone" Binding="{Binding Phone_Number}" />
</DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
LecturerListViewModel.cs:
public class LecturerListViewModel : ViewModelBase<LecturerListViewModel>
{
public ObservableCollection<Lecturer> Lecturers;
private readonly DataAccess _dataAccess = new DataAccess();
public LecturerListViewModel()
{
Lecturers = GetAllLecturers();
}
Run Code Online (Sandbox Code Playgroud)
和ViewModelBase实现INotifyPropertyChanged.
Lecturer.cs
public class Lecturer
{
public Lecturer(){}
public int Id_Lecturer { get; set; }
public string Name { get; set; }
public string …Run Code Online (Sandbox Code Playgroud)