Здравствуйте, как переместить активную таблицу в архив с помощью entity framework? Это вообще практично?
Я новичок в этом деле. ASP.NET разработка MVC и один из проектов, над которыми я работаю, требуют, чтобы после захвата данных таблица была перемещена в другое представление (архивирована), а затем индекс должен быть очищен, чтобы можно было захватить новые данные.
Что я уже пробовал:
Я собираюсь быть полностью честным, говоря, что я провел последнюю неделю, пытаясь найти полезные ссылки в Google, но это не очень хорошо сработало для меня.
F-ES Sitecore
Выполнение массовых операций на самом деле не является тем, для чего предназначен EF, вы, вероятно, найдете его невероятно медленным. Для таких задач лучше использовать хранимые процедуры.
mhlongosbusiso
Привет и спасибо за ответ,
I have gotten around to working with stored procedures and I am getting the required result - on the MS SQL side. It is only when I try to access my stored procedure result from the ASP.NET MVC web application upon running it that I get an error and I understand the reason that I am getting the error I just got stuck trying to fix it. I want to select only specific columns from my original database table but for some reason my model - on the MVC side - expects me to select all the columns from the original table. The error is that there's a mismatch of columns. Is there a way I can pass only the selected columns onto my MVC application without getting the error?
Заранее благодарю вас.
F-ES Sitecore
Когда вы добавляете ссылку на сохраненный proc в конструкторе EF, он должен создать для вас возвращаемый объект с правильными столбцами. Если это не работает для вас, вы можете указать свой собственный класс, который будет использоваться в качестве возвращаемого типа, и убедиться, что у него есть правильные вещи.
https://www.entityframeworktutorial.net/stored-procedure-in-entity-framework.aspx
Dave Kreskowiak
Просто потому, что вы используете Entity Framework для своих обычных операций с базой данных, это не означает, что вы должны использовать EF для всего в базе данных.
Вы не можете использовать EF, чтобы делать то, что вы хотите. Вы должны выполнить обычные инструкции SQL, чтобы "переместить" таблицу или любые другие ваши требования к "архивированию" и сбросить значения идентификаторов.
Как сказал F-ES, вам было бы гораздо лучше сделать эту операцию архивирования в хранимой процедуре в базе данных и обернуть все это в транзакцию, чтобы убедиться, что это либо произойдет, либо ничего из этого не произойдет, если что-то пойдет не так.