1) Другой вариант реализации не один, их сотни;
2) Если взяли WPF - пишите в MVVM стиле;
3) p.Pass.ToString() зачем? На этот участок и ругается, какой тип у p.Pass?
Что вы подразумеваете под "сигнал/ключ"?
Если просто уведомление другого приложения, что ему нужно что-то сделать - масса вариантов.
Сокеты, http запросы (e.g. signalr, gRPC), etc.
Гуглите про межпроцессорное взаимодействие, если оба приложения запускаются на 1 машине.
Роман, WHERE [g].[Discriminator] = N'ImportEntity2' дополняет таким, соответственно запрос крашится с ошибкой "Microsoft.Data.SqlClient.SqlException (0x80131904): Недопустимое имя столбца "Discriminator"."
Окей, захочу я новое поле обновить или случайно его обновлю, changetracker задетектит изменения, попытается записать это в базу, а поля в базе такого нет = краш.
Не понятно для чего тут целая портянка кода. Не указали где храните данные (БД, Redis, etc.). Какие проблемы с текущим кодом?
Я вижу схему в БД такой:
1) Таблица пользователей - id, first_name, etc.;
2) Таблица постов - id, title, body, etc.;
3) Таблица голосов - id, user_id, post_id.
Для получения оценок на посте - запрос в таблицу №3 (where id = postid)
2) Если взяли WPF - пишите в MVVM стиле;
3)
p.Pass.ToString()
зачем? На этот участок и ругается, какой тип у p.Pass?