Есть база на SQLite, в ней таблица с двумя колонками Id и Name. С помощью Entity я подвязал её к коду и пытаюсь запихнуть в MVVM. Выдало ошибку
По аналогичным вопросам в интернете, люди писали что связано это с пробелами в sql запросах. Но у меня используется linq, и я не передаю команду строкой.
Код Model (описание таблицы Pacients):
public class Pacient : INotifyPropertyChanged
{
private string _name;
public int Id { get; set; }
public string Name
{
get { return _name; }
set
{
_name = value;
OnPropertyChanged("Name");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName]string prop = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
Код создания контекста подключения к бд:
public class PacientContext : DbContext
{
public PacientContext() : base("DefaultConnection")
{
}
public DbSet<Pacient> Pacients { get; set; }
}
Код ViewModel:
public class PacientViewModel : INotifyPropertyChanged
{
private static PacientContext db = new PacientContext();
private Pacient _selectedPacient;
public ObservableCollection<Pacient> Pacients { get; set; }
public Pacient SelectedPacient
{
get { return _selectedPacient; }
set
{
_selectedPacient = value;
OnPropertyChanged("SelectedPacient");
}
}
public PacientViewModel()
{
var index = from t in db.Pacients
select t;
Pacients = new ObservableCollection<Pacient>(index.ToList());
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged([CallerMemberName]string prop = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
Код XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="107*" />
<ColumnDefinition Width="289*" />
</Grid.ColumnDefinitions>
<ListBox Grid.Column="0" ItemsSource="{Binding Pacients}"
SelectedItem="{Binding SelectedPacient}" Margin="0,0,8,0">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="5">
<TextBlock FontSize="18" Text="{Binding Path=Name}" />
<TextBlock Text="{Binding Path=Id}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
@WinnerIT, извиняюсь, ошибка была в человеческой невнимательности. Я переносил проект в другую директорию, а строка подключения к бд осталась привязана к старой. Тобишь я создал таблицу в копии бд к которой программа обращается
Виртуальный выделенный сервер (VDS) становится отличным выбором
Downcast, насколько я понял, это явное приведения типов между собойТут вроде понятно, нужно приобразовать к другому типу, пожалуйста, для это...
Имею XML с сложной структурой (CommerceML) и нужно выпарсить некоторые значения оттуда