#c# #.net #entity-framework-6
#c# #.net #entity-framework-6
Вопрос:
У меня есть таблица с именем Tags
, в которую добавляется новый столбец, когда пользователь создает тег (именем столбца будет имя тега, которое дал пользователь). Кроме того, столбец переименовывается, когда пользователь редактирует имя тега.
Я знаю, что в моем приложении есть недостаток дизайна. Но просто интересно, как мы должны создать модель для такой таблицы? Могу ли я каким-либо образом выполнить операцию CRUD в такой таблице, используя Entity Framework?
Комментарии:
1. Я думаю, что есть некоторый недостаток дизайна, если вы добавляете столбец для каждой записи.
2. Почему бы не создать таблицу с одним столбцом и добавить новую запись для каждого тега? Тогда вы не столкнетесь с этой проблемой.
Ответ №1:
За исключением того, что это очень странный дизайн, решение довольно простое — просто выполните необработанный SQL-запрос и выполните сопоставление вручную. Пример запроса:
string studentName = ctx.Database
.SqlQuery<string>("Select tag1 from Posts where postId=@id", new SqlParameter("@id", 1))
.FirstOrDefault();
Все операции CRUD вы можете обрабатывать с помощью необработанных запросов.
Комментарии:
1. Я попробовал это. Это работает. Я полагаю, это единственный простой выход.