Как можно совершить редактирование в SQlite c C#
В данный момент реализовано добавление в БД, теперь записанные данные не получается редактировать, имеется форма XAML, заполняется, сохраняется, так же и показываются данные находящийся там, вопрос как можно совершить редактирование строк данных и вывод? В данный момент выдает ошибку "Имя не существует в данном контексте" Прикладываю код с попыткой редактирования строки в БД
public partial class Edit : Window
{
AppContecst db;
public Edit()
{
InitializeComponent();
//db = new AppContecst(); //обращение к класу подключения базы данных выделение памяти
AppContecst db = new AppContecst();
List<AppStaff> AppStaffs = db.AppStaffs.ToList();
staffList.ItemsSource = AppStaffs;
}
private void Button_Ed_Click(object sender, RoutedEventArgs e)
{
if (staffList.SelectedItem == null) return;
// получаем выделенный объект
AppStaff appStaff = staffList.SelectedItem as AppStaff;
Edit edit = new Edit(new AppStaff
{
Name = Edit.name,
Famil = Edit.famil,
Otches = Edit.otches,
});
if (edit.ShowDialog() == true)
{
// получаем измененный объект
appStaff = db.AppStaffs.Find(Edit.AppStaff.id);
if (appStaff != null)
{
appStaff.Name = Edit.AppStaff.name;
appStaff.Famil = Edit.AppStaff.famil;
appStaff.Otches = Edit.AppStaff.otches;
db.Entry(appStaff).State = EntityState.Modified;
db.SaveChanges();
}
}
}
Так же класс модель БД
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WpfApp1
{
class AppStaff
{
public int id { get; set; }
private string name, famil, otches, pol, podrazdel, dolzhnost, kabinet, telefon_rab,
telefon_lichni, pochta, data_rozhde, mesto_rozh, grazhdan, semeinoe;
public string Name
{
get { return name; }
set { name = value; }
}
public string Famil
{
get { return famil; }
set { famil = value; }
}
public string Otches
{
get { return otches; }
set { otches = value; }
}
public string Pol
{
get { return pol; }
set { pol = value; }
}
public string Podrazdel
{
get { return podrazdel; }
set { podrazdel = value; }
}
public string Dolzhnost
{
get { return dolzhnost; }
set { dolzhnost = value; }
}
public string Kabinet
{
get { return kabinet; }
set { kabinet = value; }
}
public string Telefon_rab
{
get { return telefon_rab; }
set { telefon_rab = value; }
}
public string Telefon_lichni
{
get { return telefon_lichni; }
set { telefon_lichni = value; }
}
public string Pochta
{
get { return pochta; }
set { pochta = value; }
}
public string Data_rozhde
{
get { return data_rozhde; }
set { data_rozhde = value; }
}
public string Mesto_rozh
{
get { return mesto_rozh; }
set { mesto_rozh = value; }
}
public string Grazhdan
{
get { return grazhdan; }
set { grazhdan = value; }
}
public string Semeinoe
{
get { return semeinoe; }
set { semeinoe = value; }
}
/* public string Img
{
get { return img; }
set { img = value; }
}*/
public AppStaff() { }
public AppStaff(string name, string famil, string otches , string pol, string podrazdel,
string dolzhnost, string kabinet, string telefon_rab,
string telefon_lichni, string pochta, string data_rozhde, string mesto_rozh, string
grazhdan, string semeinoe)
{
this.name = name;
this.famil = famil;
this.otches = otches;
this.pol = pol;
this.podrazdel = podrazdel;
this.dolzhnost = dolzhnost;
this.kabinet = kabinet;
this.telefon_rab = telefon_rab;
this.telefon_lichni = telefon_lichni;
this.pochta = pochta;
this.data_rozhde = data_rozhde;
this.mesto_rozh = mesto_rozh;
this.grazhdan = grazhdan;
this.semeinoe = semeinoe;
}
}
}
код для получения доступа к БД
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.Entity;
namespace WpfApp1
{
class AppContecst : DbContext
{
public DbSet<AppStaff> AppStaffs { get; set; }
public DbSet<User> Users { get; set; }
public AppContecst() : base("DefaultConnection") { }
}
}
Прикладываю XAML разметку
<Window x:Class="WpfApp1.Edit"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
Title="Edit" Height="450" Width="800">
<Grid Background="#D7D7D8">
<ScrollViewer>
<Border Margin="10,51,19.6,70" Background="White" VerticalAlignment="Center" Padding="40" MaxWidth="5050" CornerRadius="15" >
<Border.Effect>
<DropShadowEffect BlurRadius="30" Color="LightGray"></DropShadowEffect>
</Border.Effect>
<StackPanel Height="157">
<TextBlock Text="Добовление нового сотрудника" FontSize="30" FontWeight="Bold" Margin="0,0,0.2,20"/>
<Grid Margin="0,0,0,20">
<Button x:Name="Button_Save" HorizontalAlignment="Left" Content="Сохранить" Click="Button_add_Click"/>
<Button x:Name="Button_Uvol" HorizontalAlignment="Left" Margin="120,0,0,5" Content="Уволить" Style="{StaticResource MaterialDesignFlatButton}" Click="Button_Close_Click" />
</Grid>
<ListBox x:Name="staffList" ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBox x:Name="textboxName" materialDesign:HintAssist.Hint="Имя" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="0,0,950,0" Text="{Binding Name}">
</TextBox>
<TextBox x:Name="textboxfamil" materialDesign:HintAssist.Hint="Фамилия" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="300,-40,650,0" Height="36" Text="{Binding Famil}"/>
<TextBox x:Name="textboxotches" materialDesign:HintAssist.Hint="Отчество" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="600,-40,300,0" Height="36" Text="{Binding Otches}"/>
<ComboBox x:Name="textboxpol" materialDesign:HintAssist.Hint="Пол" Style="{StaticResource MaterialDesignFloatingHintComboBox}" Margin="0,20,950,0" Text="{Binding Pol}">
<TextBlock>Мужской</TextBlock>
<TextBlock>Женский</TextBlock>
</ComboBox>
<ComboBox x:Name="textboxpodrazdel" materialDesign:HintAssist.Hint="Отдел" Style="{StaticResource MaterialDesignFloatingHintComboBox}" Margin="0,0,950,0">
<TextBlock>Административный отдел</TextBlock>
<TextBlock>Финансовый отдел</TextBlock>
<TextBlock>Совет муниципального района</TextBlock>
<TextBlock>Информационно-аналитический отдел</TextBlock>
<TextBlock>Экономический отдел</TextBlock>
<TextBlock>Юридический отдел</TextBlock>
<TextBlock>Бухгалтерия</TextBlock>
<TextBlock>Муниципальный контроль</TextBlock>
<TextBlock>Отдел опеки и попечительсва</TextBlock>
<TextBlock>Сельскохозяйственый отдел</TextBlock>
<TextBlock>Комитет по управлению собственностью</TextBlock>
<TextBlock>Технический отдел</TextBlock>
</ComboBox>
<TextBox x:Name="textboxdolzhnost" materialDesign:HintAssist.Hint="Должность" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="0,0,950,0"/>
<TextBox x:Name="textboxkabinet" materialDesign:HintAssist.Hint="Номер кабинета" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="0,0,950,0"/>
<TextBox x:Name="textboxtelefon_rab" materialDesign:HintAssist.Hint="Телефон рабочий" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="0,0,950,0"/>
<TextBox x:Name="textboxtelefon_lichni" materialDesign:HintAssist.Hint="Телефон сотовый" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="600,-325,300,0" Height="36"/>
<TextBox x:Name="textboxpochta" materialDesign:HintAssist.Hint="E-mail" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="0,0,950,0"/>
<DatePicker x:Name="textboxdate_rozhde" materialDesign:HintAssist.Hint="Дата рождения" Style="{StaticResource MaterialDesignFloatingHintDatePicker}" Margin="300,-400,650,0" Height="36" />
<TextBox x:Name="textboxmesto_rozh" materialDesign:HintAssist.Hint="Адрес проживания" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="0,0,950,0"/>
<TextBox x:Name="textboxgrazhdan" materialDesign:HintAssist.Hint="Гражданство" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="0,0,950,0"/>
<ComboBox x:Name="textboxsemeinoe" materialDesign:HintAssist.Hint="Семейное положение" Style="{StaticResource MaterialDesignFloatingHintComboBox}" Margin="0,0,950,0" >
<TextBlock>Женат/Замужем</TextBlock>
<TextBlock>Холост/Незамужем</TextBlock>
</ComboBox>
<Image x:Name="Imageboxfoto" materialDesign:HintAssist.Hint="Foto" Margin="950,-640,50,10" Height="215" OpacityMask="#FF948B8B" ></Image>
<Button x:Name="Button_Foto" HorizontalAlignment="Right" Margin="120,-380,100,10" Content="Обзор" Style="{StaticResource MaterialDesignFlatButton}" Click="Button_Foto_Click" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</StackPanel>
</Border>
</ScrollViewer>
</Grid>
</Window>
пока пытаюсь выдать три элемента, это name, famil, otches