У меня есть WPF DataGrid, который связан с ObservableCollection, который заполняется с помощью запроса Entity Framework.Я могу вносить изменения в содержимое DataGrid, но по какой-то причине я не могу добавить новую запись.Я могу добавить данные в новую строку, но когда я нажимаю «Сохранить», новая запись никогда не сохраняется в базе данных.
Вот как объявлена моя коллекция
public ObservableCollection<Camp> Camps { get; private set; }
заполнена
Camps = new ObservableCollection<Camp>( await ctx.Camps.Include( "Applications.Applicant" ).OrderByDescending( c => c.StartDate.Year ).ToListAsync() );
и привязана к сетке данных
<DataGrid MinHeight="300" ItemsSource="{Binding Camps}" SelectedItem="{Binding SelectedCamp}" AutoGenerateColumns="False"
CanUserResizeRows="True" CanUserResizeColumns="True" CanUserSortColumns="True" CanUserReorderColumns="True" CanUserAddRows="True">
Здесь сохраненометод, который должен добавить запись в DB
private async void SaveEntry()
{
// Okay something is going on so that new records don't get added if they are created through the DG.
var test = ctx.ChangeTracker.HasChanges(); // Just for testing
if ( ctx.ChangeTracker.HasChanges() )
{
// Save changes
await ctx.SaveChangesAsync();
}
}
Когда я смотрю на «тест» var, ChangeTracker никогда не показывает true, когда я добавляю запись.Если я изменю существующую запись в сетке, она будет работать нормально.Не добавляется ли запись в коллекцию ObservableCollection при ее добавлении в сетку данных?Как я могу добавить запись из таблицы данных?