powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
9 сообщений из 9, страница 1 из 1
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39302496
OST-RV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отобразил хранимую процедуру через окно Mapping Details. Но при выполнении вставки EF5 генерирует свой код вставки используя команду вставки.
Код: sql
1.
2.
3.
4.
5.
exec sp_executesql N'insert [dbo].[Fin_DirBudgetItems]([ParentID], [code], [Description], [IsIncome], [Responsible_EmployeeConstID], [SessionsID])
values (null, @0, @1, null, null, @2, @3, @4)
select [ID]
from [dbo].[Fin_DirBudgetItems]
where @@ROWCOUNT > 0 and [ID] = scope_identity()',N'@0 nvarchar(max) ,@1 nvarchar(max) ,@2 int,@3 datetime,@4 int',@0=N'wewf',@1=N'22wsgfw',@2=198166



Почему EF строит свою команду вставки, а не использует отображенную хранимую процедуру?[img=]
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39302677
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
продолжаете есть кактус...
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39302710
OST-RV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кактусом является использование хранимых процедур в EF или использование поля sessionsID (бизнес требования)? Если использование поля sessionsID, то где я должен его использовать чтобы идентифицировать кто сделал запись в таблицу?
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39302717
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OST-RVКактусом является использование хранимых процедур в EF или использование поля sessionsID (бизнес требования)? Если использование поля sessionsID, то где я должен его использовать чтобы идентифицировать кто сделал запись в таблицу?

использование хранимых процедур в EF
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39302718
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OST-RV, тынц
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39302930
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, правда, зачем ужа е ежом скресщивать?
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39303231
OST-RV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перегонщик перекупкиOST-RVКактусом является использование хранимых процедур в EF или использование поля sessionsID (бизнес требования)? Если использование поля sessionsID, то где я должен его использовать чтобы идентифицировать кто сделал запись в таблицу?

использование хранимых процедур в EF

fsharp_fsharpТС, правда, зачем ужа е ежом скресщивать?

То есть sql server должен выступать только, как хранилище данных. Валидацию данных любой сложности проводить на уровне доступа к данным. Правильно я вас понимаю?
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39303277
fsharp_fsharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OST-RVПерегонщик перекупкипропущено...


использование хранимых процедур в EF

fsharp_fsharpТС, правда, зачем ужа е ежом скресщивать?

То есть sql server должен выступать только, как хранилище данных. Валидацию данных любой сложности проводить на уровне доступа к данным. Правильно я вас понимаю?

1. EF - это ОРМ. его задача - автоматизировать CRUD. а если есть ХП, то там уже нет автоматизации CRUD - ХП ведь написана руками?
2. "должен выступать только, как хранилище данных" - по возможности - да. это его основное назначение. учитывая, что в этом хранилище есть транзакции - это уже не так уж и мало.
3. "Валидацию данных любой сложности проводить на уровне доступа к данным" - не уверен, что полностью понял этот тезис, но бизнес логика должна быть отдельным слоем в приложении. если она у Вас в ХП, то см. п.1.

ОРМ на параметры хранимой процедуры - это уже какая-то бессмыслица. если только для DTO на процедуру, которая суть очень хитрый селект
...
Рейтинг: 0 / 0
В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
    #39303687
OST-RV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я использую подход Database first, строку подключения конфигурирую в приложении. А в подходе DB first строка подключения имеет дополнительные метаданные для указания расположения файлов модели *.csdl, *.ssdl, *.msl. После того как я сконфигурировал строку подключения метаданными все заработало.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        private static string ConfigConnectionString(string connString)
        {

            EntityConnectionStringBuilder entityConnStrBuilder = new EntityConnectionStringBuilder()
            {
                Provider = "System.Data.SqlClient",
                Metadata =  string.Format("res://*/Global2Model.csdl|res://*/Global2Model.ssdl|res://*/Global2Model.msl"),
                ProviderConnectionString = connString
            };
            return entityConnStrBuilder.ConnectionString;   
        }



Но решил воспользоваться рекомендациями Перегонщика перекупки, fsharp_fsharp и отказался от хранимых процедур.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / В место отображенной хранимой процедуры EF5 генерирует свой sql код вставки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]