Я работаю в .NET уже около 20 лет и сейчас пытаюсь изучить Entity Framework Core, потому что кажется, что это путь будущего. При этом, я думаю, я все еще немного застрял в прошлом, потому что считаю, что фильтрация данных должна выполняться SQL-сервером, а не веб-сервером.
Итак, я Я облегчаю себе задачу, пытаясь использовать Entity Framework Core как замену объектам подключения и команд, которые я использовал в прошлом.
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
using (SqlConnection conn = new SqlConnection("Server=;Database=;Trusted_Connection=True;"))
{
conn.Open();
SqlCommand cmd = new SqlCommand("GetBadges", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameterCollection parms = cmd.Parameters;
SqlParameter parm = new SqlParameter();
parm.ParameterName = "@toonid";
parm.Value = inbnd.toonId;
parms.Add(parm);
da.SelectCommand = cmd;
da.Fill(ds);
}
Вопрос: как я могу использовать Entity Framework Core для достижения этой цели?
Пока все, что мне удалось сделать, это вызвать Entity Framework Ядро с хранимой процедурой, но если хранимая процедура возвращает что-то, что не является частью объекта, оно игнорируется.
Мои хранимые процедуры обычно возвращают разные столбцы, и в некоторых местах я мы работали, мы делали много динамического SQL, который возвращал разные структуры (даже исходящие из одного и того же хранимая процедура) с различными отправленными параметрами. Поэтому ответы, которые я ищу, требуют общих решений или дайте мне знать, что это невозможно. Пожалуйста, пошагово, потому что, хотя я не новичок в программировании, я новичок в Entity Framework Core.
Изменить:
Спасибо, я не заметил разные тики.
Изменить:
Как я уже упоминал, в одном месте, где я работал, использовалось много динамического SQL и была таблица для каждой подписки на журнал, и в этой таблице было конкретные свойства журнала (демография, если хотите), которые .Net может будет смотреть только в том случае, если просматривается конкретный журнал.
Итак, для этого примера:
create table pub1table (subscriber_id int, subscription_length int,...,hasMultipleCars char(1))
create table pub2table (subscriber_id int, subscription_length int,...,linkedInURL varchar(255))
create proc dbo.GetSubscriptionInfo
@pub_id char(3),
@subscriber_id int
as
declare @sql varchar(max) = 'select * from ' + @pub_id + 'table where
subscriber_id = ' + convert(varchar(50), @subscriber_id)
exec(@sql);
Завершить редактирование
Изменить: Хотя в моем примере не будет использоваться оптимизатор SQL, он не будет (в тех случаях, когда весь код был статическим) EF также не сможет использовать оптимизатор SQL?
Изменить: Возвращаясь немного к части моего первоначального вопроса, бывают случаи, когда я извлекаю несколько списков в одной хранимой процедуре ( как список состояний и список префиксов (Мистер, миссис, мисс и т. д.) и все это за один вызов базы данных. Я не видел, как EF может справиться (за один вызов) с этой ситуацией (или я просто еще не дошел до этого в своих исследованиях). )?
create proc dbo.GetScreenDetails
@pub_id char(3)
as
select *
from dbo.States;
select *
from dbo.Prefixes;
select *
from dbo.publicationDetails
where pub_id = @pub_id;
Подробнее здесь: https://stackoverflow.com/questions/791 ... procedures
.NET Core 8 и Entity Framework Core вызывают хранимые процедуры ⇐ C#
Место общения программистов C#
-
Anonymous
1731087500
Anonymous
Я работаю в .NET уже около 20 лет и сейчас пытаюсь изучить Entity Framework Core, потому что кажется, что это путь будущего. При этом, я думаю, я все еще немного застрял в прошлом, потому что считаю, что фильтрация данных должна выполняться SQL-сервером, а не веб-сервером.
Итак, я Я облегчаю себе задачу, пытаясь использовать Entity Framework Core как замену объектам подключения и команд, которые я использовал в прошлом.
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
using (SqlConnection conn = new SqlConnection("Server=;Database=;Trusted_Connection=True;"))
{
conn.Open();
SqlCommand cmd = new SqlCommand("GetBadges", conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameterCollection parms = cmd.Parameters;
SqlParameter parm = new SqlParameter();
parm.ParameterName = "@toonid";
parm.Value = inbnd.toonId;
parms.Add(parm);
da.SelectCommand = cmd;
da.Fill(ds);
}
Вопрос: как я могу использовать Entity Framework Core для достижения этой цели?
Пока все, что мне удалось сделать, это вызвать Entity Framework Ядро с хранимой процедурой, но если хранимая процедура возвращает что-то, что не является частью объекта, оно игнорируется.
Мои хранимые процедуры обычно возвращают разные столбцы, и в некоторых местах я мы работали, мы делали много динамического SQL, который возвращал разные структуры (даже исходящие из одного и того же хранимая процедура) с различными отправленными параметрами. Поэтому ответы, которые я ищу, требуют общих решений или дайте мне знать, что это невозможно. Пожалуйста, пошагово, потому что, хотя я не новичок в программировании, я новичок в Entity Framework Core.
Изменить:
Спасибо, я не заметил разные тики.
Изменить:
Как я уже упоминал, в одном месте, где я работал, использовалось много динамического SQL и была таблица для каждой подписки на журнал, и в этой таблице было конкретные свойства журнала (демография, если хотите), которые .Net может будет смотреть только в том случае, если просматривается конкретный журнал.
Итак, для этого примера:
create table pub1table (subscriber_id int, subscription_length int,...,hasMultipleCars char(1))
create table pub2table (subscriber_id int, subscription_length int,...,linkedInURL varchar(255))
create proc dbo.GetSubscriptionInfo
@pub_id char(3),
@subscriber_id int
as
declare @sql varchar(max) = 'select * from ' + @pub_id + 'table where
subscriber_id = ' + convert(varchar(50), @subscriber_id)
exec(@sql);
Завершить редактирование
Изменить: Хотя в моем примере не будет использоваться оптимизатор SQL, он не будет (в тех случаях, когда весь код был статическим) EF также не сможет использовать оптимизатор SQL?
Изменить: Возвращаясь немного к части моего первоначального вопроса, бывают случаи, когда я извлекаю несколько списков в одной хранимой процедуре ( как список состояний и список префиксов (Мистер, миссис, мисс и т. д.) и все это за один вызов базы данных. Я не видел, как EF может справиться (за один вызов) с этой ситуацией (или я просто еще не дошел до этого в своих исследованиях). )?
create proc dbo.GetScreenDetails
@pub_id char(3)
as
select *
from dbo.States;
select *
from dbo.Prefixes;
select *
from dbo.publicationDetails
where pub_id = @pub_id;
Подробнее здесь: [url]https://stackoverflow.com/questions/79164008/net-core-8-and-entity-framework-core-calling-stored-procedures[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия