Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
3 / 3 / 4
Регистрация: 18.11.2013
Сообщений: 172

Удаление записи (MS SQL)

15.04.2016, 18:02. Показов 1081. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите балбесу Сделал по шаблону репозиторий. Подключение к базе данных MS SQL.

Вопрос элементарный - как удалить элемент? Удаление может быть любым - хоть по ID, хоть последним/первым из списка.

Вот в IRepository имеется метод Delete. Его реализация в StudRepository. А вот как использовать этот метод правильно в MainWindowsModelView?

P.S: Программа состоит из ListView и двух кнопок


C#
1
2
3
4
5
6
7
    public interface IRepository<T> where T: IEntity
    {
        ObservableCollection<T> GetPersonList();
        void Add(T entity);
        void Delete(T entity);
        T GetPerson(int Id);
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
    public class StudRepository : IRepository<Person>
    {
        readonly StudentContext _context;
 
        public StudRepository()
        {
            this._context = new StudentContext();
        }
 
        public ObservableCollection<Person> GetPersonList()
        {
            return _context.People.Local;
        }
 
        public Person GetPerson(int id)
        {
            return _context.People.Find(id);
        }
 
        public void Add(Person entity)
        {
            //_context.People.Add(new Person {NAME = "Test"});
            _context.People.Add(entity);
            _context.SaveChanges();
        }
 
        public void Delete(Person entity)
        {
            _context.People.Remove(entity);
            _context.SaveChanges();
        }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
namespace ViewModel
{
    public class MainWindowViewModel
    {
        readonly IRepository<Person> _repository = new FakeRepository();
 
        public ObservableCollection<Person> Persons { get; set; }
 
        public MainWindowViewModel()
        {
            Persons = _repository.GetPersonList();
 
            AddStudentCommand = new RelayCommand(Add, CanExecute);
            DeleteStudentCommand = new RelayCommand(Del, CanExecute);
        }
 
        public RelayCommand AddStudentCommand { get; set; }
        public RelayCommand DeleteStudentCommand { get; set; }
 
        private void Add(object o)
        {  
            _repository.Add(new Person { NAME = "Михаил" });
        }
 
        private void Del(object o)
        {
 
        }
 
        private bool CanExecute(object o)
        {
            return true;
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.04.2016, 18:02
Ответы с готовыми решениями:

SQL запрос на удаление записи
Помогите написать запрос на удаление выделенной записи в dataGridView из базы данных Выдаёт ошибку: &quot;Ссылка на объект не указывает...

Написание SQL запроса на удаление записи
Помогите пжл написать SQL запрос для удаления из базы записи, выделенной в датагриде. Использую данный класс для работы с БД. ...

Sql запрос на удаление записи из двух таблиц
Добрый день! Я знаю что вопрос древний как наш мир... и примеров куча, но если бы мне что-то помогло я бы сюда не писал. Проблема...

1
3 / 3 / 4
Регистрация: 18.11.2013
Сообщений: 172
15.04.2016, 20:36  [ТС]
Уже сам решил. Удаляю по MAX ID.

C#
1
2
3
4
5
6
7
8
public void Delete(Person entity)
        {
            var maxId = (_context.People.Select(x => (int?)x.ID).Max() ?? 0);
 
            entity = (from del in _context.People where del.ID == maxId select del).First();
            _context.People.Remove(entity);
            _context.SaveChanges();
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2016, 20:36
Помогаю со студенческими работами здесь

нужен скрипт: запрос в SQL и удаление ненужной записи из DB.
pls, помогите написать скрипт, который бы делал запрос в SQL DB, брал оттуда, например, все pictures машин и удалил pictures тех машин,...

Удаление выбранной записи SQL
как удалить выбранную запись в таблицу с помощь SQL? тоесть не всю таблицу а я например добавил какие то данные и мне не нужен какой то...

Удаление записи в поле SQL
Коллеги добрый день. Очень нужна помощь. Столкнулся с ситуацией где нужно использовать несколько значений в одном поле... Появилась...

Скрипт: запрос в SQL, удаление ненужной записи
pls, помогите написать скрипт, который бы делал запрос в SQL DB, брал оттуда, например, все pictures машин и удалил pictures тех машин,...

Sql запрос на удаление записи из двух таблиц
Добрый день! Я знаю что вопрос древний как наш мир... и примеров куча, но если бы мне что-то помогло я бы сюда не писал. Проблема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru