@CSharpChatЭта группа больше не существует

Страница 356 из 1888
Илья
16.02.2017
08:30:08
var sqlQuery = "INSERT INTO Users (Name, Age) VALUES(@Name, @Age); SELECT CAST(SCOPE_IDENTITY() as int)"; int? userId = db.Query<int>(sqlQuery, user).FirstOrDefault(); user.Id = userId;

Он видимо сам подставляет значения

Надо только названия полей указать

Artem
16.02.2017
08:31:44
Естественно. Он делает мапинг между переменными запроса и полями объекта

Google
Илья
16.02.2017
08:33:40
Ну, так мне делать через ; инсерт или как ты написал? Т.е. для каждого объекта по строке инсерта или нет?

Artem
16.02.2017
08:34:06
что ты хочешь сделать?

Илья
16.02.2017
08:34:24
вставить коллекцию объектов

в одну таблицу

Руслан
16.02.2017
08:34:54
инсерты в EXELE напиши через "склеять"

Илья
16.02.2017
08:35:05
Я циклом

формирую строку запроса

Artem
16.02.2017
08:35:49
var sql = "INSERT INTO Table (Id, V) VALUES (@Id, @V)" db.Execute(sql, collection)

Леонид
16.02.2017
08:36:28
Илья
16.02.2017
08:36:28
А там в примере юзается метод Query... Чем они отличаются?

Леонид
16.02.2017
08:36:33
Что ты пишешь

Это

Alexander
16.02.2017
08:37:13
ого, лайфхак же, как сделать тестовое задание, и че я раньше не догадался

Google
Леонид
16.02.2017
08:37:13
Почему тут не даппером?

Илья
16.02.2017
08:37:22
А понял execute возвращает количество строк выполненных

Artem
16.02.2017
08:37:24
Query возвращает результат-объект, Execute только число строк, которые были вставлены/изменены

Alexander
16.02.2017
08:38:42
теперь понятно, почему на собеседованиях дают ручку с листочком и просят написать сортировки, какие знаешь и пр.

Илья
16.02.2017
08:39:00
А мне не надо для этого писать INSERT INTO Table (Id, V) VALUES (@Id, @V), VALUES (@Id, @V), VALUES (@Id, @V)

?

Artem
16.02.2017
08:39:10
нет

Илья
16.02.2017
08:39:13
Чтобы вставить коллекцию

Artem
16.02.2017
08:39:15
даппер сам сообразит

Илья
16.02.2017
08:39:32
ок

круто)

Artem
16.02.2017
08:40:00
Dapper - это просто обертка над ADO.Net

Леонид
16.02.2017
08:40:37
Даппер для богов

Илья
16.02.2017
08:41:17
Ох, теперь с восторгом вспоминаю времена когда я юзал EF. Блин. Там никакого SQL. Знай работай себе с таблицей как с обычной коллекцией объектов...

Насколько это удобнее(

Artem
16.02.2017
08:42:26
Даппер для богов
ага. я посмотрю, как ты будешь делать какой-нить CROSS APPLY через EF

Леонид
16.02.2017
08:42:46
Зачем через еф?

Artem
16.02.2017
08:42:55
или хоть какую-нибудь сложную выборку

Artem
16.02.2017
08:43:02
например с HAVING COUNT

Google
Илья
16.02.2017
08:43:07
ниче не понял)))

Ilya
16.02.2017
08:43:12
https://drive.google.com/uc?id=0B1JqG9-isoYPNXR1a19qQnlFUFU

Илья
16.02.2017
08:43:20
я не знаток sql. Только базовые знания запросов

Леонид
16.02.2017
08:43:29
Найс SQL не осилили

Илья
16.02.2017
08:44:45
А зачем?))) Почти нигде не юзают SQL в чистом виде. Везде ORM.

Илья
16.02.2017
08:45:03
Я кодил на PHP, Python (Django) - везде орм

Ilya
16.02.2017
08:45:18
два sql этому джуну

Artem
16.02.2017
08:45:27
если ничего сложней блога не делать, то да

orm хватит)

Илья
16.02.2017
08:46:21
Что такого сложного может быть где тебе не хватит орм? Орм точно также формирует SQL запросы. Просто формирует за тебя.

И формирует для каждой субд

Илья
16.02.2017
08:46:37
Сама

Удобно же

Artem
16.02.2017
08:46:44
я молчу про хинты

Илья
16.02.2017
08:47:30
Можно юзать ОРМ для простых запросов, а в сложных писать вручную sql. Она это проглотит.

Врятли сложных бывает слишком много

Artem
16.02.2017
08:48:53
Частенько встречается схема, когда используются EF+Dapper.

особенно в концепциях с CQRS

Google
Artem
16.02.2017
08:50:03
EF используют для доменной модели, Dapper для query моделей

anton
16.02.2017
08:50:51
кому загадку? что за 57? :)

anton
16.02.2017
08:51:50


Axm
16.02.2017
08:58:03
может это эмулятор, который выводит служебную инфу. или какой-нибудь режим разработчика.

anton
16.02.2017
09:00:38
я ответа не знаю, если что.. сам мучаюсь пока в догадках

Dmitry
16.02.2017
09:05:53
/history@bestuserbot

Gid
16.02.2017
09:06:25
У тебя есть узкое место где 10000 юзеров каждую секунду делают инсерт

Admin
ERROR: S client not available

Gid
16.02.2017
09:06:36
Ормку заюзаешь?

Какой-нибудь энтити фреймворк)?())))?

Dmitry
16.02.2017
09:07:20
А зачем?))) Почти нигде не юзают SQL в чистом виде. Везде ORM.
Здесь он говорит о том, что sql вобщем не нужен

Dmitry
16.02.2017
09:07:46
Сергей
16.02.2017
09:07:51
А в чем проблема орм тут?

У тебя есть узкое место где 10000 юзеров каждую секунду делают инсерт

Dmitry
16.02.2017
09:08:21
Запрос херово сгенерит?

Сергей
16.02.2017
09:08:24
СКОРОСТИ ЧЕГО?

ИНСЕРТ ХЕРОВО СГЕНЕРИТ?

Google
Gid
16.02.2017
09:08:40
СКОРОСТИ ЧЕГО?
А ты видел что генерирует тот же еф внутри?

Сергей
16.02.2017
09:08:50
Когда инсертит?

Gid
16.02.2017
09:09:00
Ilya
16.02.2017
09:09:03
А ты видел что генерирует тот же еф внутри?
ты испугался перечислений каждого стобца?

когда селектит например

инсерт-то он норм сегенрит

Сергей
16.02.2017
09:09:22
Вполне обычнй инсерт, что там не так?

Gid
16.02.2017
09:09:25
Это приеб не по сабжу

Сергей
16.02.2017
09:09:37
Когда жуткие джоины то ок, д

Ilya
16.02.2017
09:09:57
иногда саб селекты лютые

Gid
16.02.2017
09:10:17
А еще есть момент когда можно неправильно заюзать селект без лейзилоада

Сергей
16.02.2017
09:10:28
Ну это другой вопрос

Правильно / неправильно

Gid
16.02.2017
09:10:51
Правильно / неправильно
Нет, смотри, когда ты ручками пишешь скл запрос

Это одно

Сергей
16.02.2017
09:11:03
Ты точно так же можешь что то сделать неправильно

Ilya
16.02.2017
09:11:06
базар не о том ваще? то что еф часто генерит не оптимальные запросы это, по моему, факт

Gid
16.02.2017
09:11:13
Когда ты написал 1 строчку в еф и думаешь что там лейзилоад это другое

В общем пхп разжижает мозги

Сергей
16.02.2017
09:11:35
Значит ты хреново знаешь еф, сорри, но инструменты надо знать

Страница 356 из 1888

Эта группа больше не существует Эта группа больше не существует