Ошибка SQL logic error no such column: Extent1.(column)

126
11 ноября 2019, 02:40

Есть база на 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>
Answer 1

@WinnerIT, извиняюсь, ошибка была в человеческой невнимательности. Я переносил проект в другую директорию, а строка подключения к бд осталась привязана к старой. Тобишь я создал таблицу в копии бд к которой программа обращается

READ ALSO
Применение UpCast и DownCast

Применение UpCast и DownCast

Downcast, насколько я понял, это явное приведения типов между собойТут вроде понятно, нужно приобразовать к другому типу, пожалуйста, для это...

153
Путь с свойству с помощью рефлексии C#

Путь с свойству с помощью рефлексии C#

Есть массив объектов:

137
Быстрый Resize Bitmap C#

Быстрый Resize Bitmap C#

камрады!

133
Вывод всех элементов XElements

Вывод всех элементов XElements

Имею XML с сложной структурой (CommerceML) и нужно выпарсить некоторые значения оттуда

123