2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки





Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Инструменты для работы с СУБД в C#
Сообщение12.02.2017, 00:57 


11/02/17

47
В хороших книжках часто про это пишут, но читают обычно справочники и ищут там ответы и
решения.

Подсажите, кроме ADO.NET на чем можно в C# с базой работать?(брать толко, что есть в Microsoft .NET Framework)

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 09:33 
Заслуженный участник
Аватара пользователя


02/08/11
4270
neg_lib в сообщении #1191899 писал(а):
брать толко, что есть в Microsoft .NET Framework
Что за странное требование? Вас в NuGet забанили? В оновном все работают с Entity Framework, это по сути стандарт, несмотря на то, что он не является частью .NET Framework. Entity Framework умеет работать со всеми основными SQL-базами (MS, My, Oracle, SQLite).

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 15:18 


11/02/17

47
warlock66613 в сообщении #1191942 писал(а):
В оновном все работают с Entity Framework, это по сути стандарт, несмотря на то, что он не является частью .NET Framework. Entity Framework умеет работать со всеми основными SQL-базами (MS, My, Oracle, SQLite).


А, как реализуется логика проекта?
Можно ли курсор хранить на сервере?
Раз создается объектная модель базы на клиетне, то весь PL-SQL не пользуем?
Расскажите в чем сила и почему Entity Framework нужно доставлять - он сырой, неудобный(примеры)

Я видел вакансию, где написали - если сделаете без LINQ будет плюсом на PL-SQL

Просветите, куда все движется))) Чтобы не потратить на ерунду время.

ИЛИ ТУТ ОТ ВКУСА ЗАВИСТ?

Если следовать логике, то данные должны лежать и обрабатываться на сервере.

Остальное - тонкие клиенты.

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 15:51 
Заслуженный участник
Аватара пользователя


02/08/11
4270
neg_lib в сообщении #1191984 писал(а):
А, как реализуется логика проекта?
Миллионом разных способов в зависимости от проекта, причём наилучшего способа никто не знает. И я не совсем понял, что вы имеете в виду.
neg_lib в сообщении #1191984 писал(а):
Можно ли курсор хранить на сервере?
Что ещё за "курсор"?
neg_lib в сообщении #1191984 писал(а):
Раз создается объектная модель базы на клиетне, то весь PL-SQL не пользуем?
Вы вообще не используете SQL по сути, Entity Framework его от вас скрывает. В этом в общем-то смысл любой ORM.
neg_lib в сообщении #1191984 писал(а):
Я видел вакансию, где написали - если сделаете без LINQ будет плюсом на PL-SQL
Я на одной конференции слушал доклад от, что называется, "суровых энтерпрайзчиков". Так вот у них вся бизнес-логика была в виде хранимых процедур. А чтобы не сойти с ума они придумали эти процедуры генерить T4-шаблонами (о чём они, собственно, и докладывали). Другие использовали EF, а потом столкнулись с проблемами и написали свою собственную ORM (но я так и не понял из доклада, благодаря чему они смогли достичь увеличения производительности по сравнению с EF). Так что да, "от вкуса", а точнее от конкретных требований.
neg_lib в сообщении #1191984 писал(а):
Расскажите в чем сила
По сравнению с другими ORM: EF бесплатный, с открытым кодом, от Microsoft и простой как доска.
neg_lib в сообщении #1191984 писал(а):
почему Entity Framework нужно доставлять
Потому что он не является частью .NET Framework.
neg_lib в сообщении #1191984 писал(а):
он сырой
EF4 был сырой, а уже пятый - нормально, шестой тем более. Только не перепутайте с Entity Framework Core. Последний не сырой, он просто неработоспособен.
neg_lib в сообщении #1191984 писал(а):
неудобный
По сравнению с чем неудобный? По сравнению с другими ORM? По сравнению с написанием SQL запросов руками?

-- 12.02.2017, 16:52 --

mustitz в сообщении #1191988 писал(а):
Всё равно выглядит так, что ошибку внутри шаблона можно выловить только при инстанцировании.
Да, конечно. Поэтому и хорошо, что дженерики — это не темплейты.

-- 12.02.2017, 16:55 --

mustitz в сообщении #1191988 писал(а):
Модульные типы
Ну да, в С++ по этой терминологии беззнаковые есть только модульные типы, а знаковые вообще и не модульные и не целые :-)

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 16:41 
Заслуженный участник


06/07/11
3492
warlock66613 в сообщении #1191990 писал(а):
neg_lib в сообщении #1191984 писал(а):
Можно ли курсор хранить на сервере?
Что ещё за "курсор"?
Курсором в данном контексте обычно называют результат SQL-запроса. Только я тоже не понял, что значит "можно ли его хранить на сервере". Курсор - это по определению серверная штука и кроме как на сервере его и негде хранить. Обычно в таких случаях имеется в виду, как фреймворк работает с курсорами. Если пользователь открыл веб-страницу, что-то сделал и перешел на следующую, что будет: тот же запрос выполнится опять для следующей страницы или будет использован результат предыдущего?
warlock66613 в сообщении #1191990 писал(а):
Я на одной конференции слушал доклад от, что называется, "суровых энтерпрайзчиков". Так вот у них вся бизнес-логика была в виде хранимых процедур. А чтобы не сойти с ума они придумали эти процедуры генерить T4-шаблонами (о чём они, собственно, и докладывали).
А я видел суровый энтерпрайз, где вся логика в виде хранимых процедур, но никто с ума не сходил. Вообще, это холивароопасная тема, я бы предложил не продолжать.

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 16:48 


11/02/17

47
http://www.script-coding.com/ADO.html - про нормальные data access object
как управлять в EF CursorType - киньте ссылку

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 16:49 
Заслуженный участник
Аватара пользователя


02/08/11
4270
rockclimber в сообщении #1191998 писал(а):
Обычно в таких случаях имеется в виду, как фреймворк работает с курсорами. Если пользователь открыл веб-страницу, что-то сделал и перешел на следующую, что будет: тот же запрос выполнится опять для следующей страницы или будет использован результат предыдущего?
Никак не работает. Entity Framework живёт на сервере. Клиент с сервером общается или через REST API (чаще) или через WCF Service (реже). А дальше — как напишете серверный код, так и будет. У самого EF никакого внутреннего состояния нет, результат любого запроса — это (отвлекаясь от несущественных деталей) просто коллекция обычных .NET объектов.

-- 12.02.2017, 17:51 --

rockclimber в сообщении #1191998 писал(а):
А я видел суровый энтерпрайз, где вся логика в виде хранимых процедур, но никто с ума не сходил.
Да вроде так все раньше писали, но щас времена уже не те.

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 17:01 


11/02/17

47
warlock66613 в сообщении #1192002 писал(а):
Да вроде так все раньше писали, но щас времена уже не те.


http://www.oracle.com/technetwork/datab ... 90945.html - это тоже не применяют? В банках и на биржах, например

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 17:07 
Заслуженный участник
Аватара пользователя


02/08/11
4270
neg_lib в сообщении #1192006 писал(а):
это тоже не применяют?
В каком смысле "тоже"? Хранимые процедуры очень даже применяют, я ж с этого и начал. А применяют ли то, на что ссылка, я не имею ни малейшего понятия, но подозреваю, что опять же очень даже применяют.

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 17:17 


11/02/17

47
warlock66613 в сообщении #1192008 писал(а):
я не имею ни малейшего понятия, но подозреваю, что опять же очень даже применяют.


А, все понял вы WEB разработчик. Высоконагруженная система это другое.

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 17:28 
Заслуженный участник
Аватара пользователя


02/08/11
4270
neg_lib в сообщении #1192010 писал(а):
А, все понял вы WEB разработчик.
Нет, я десктоп-разработчик :-)

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 19:40 


11/02/17

47
Подскажите, если EF запрос вернул 200000 записей, то они все прокачаются на клиента?
И пользователь будет ждать, когда все завершится.
И как это решается?
Как вы делаете?

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 19:57 
Заслуженный участник
Аватара пользователя


02/08/11
4270
neg_lib в сообщении #1192054 писал(а):
И как это решается?
Лучше всего сделать так, чтобы EF не возвращал столько записей (зачем вам столько записей на клиенте? что вы будете с ними делать?)

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 22:58 


11/02/17

47
Да, я все пытаюсь плюсы отыскать :D
На нормальных вещах - над этим не надо думать, вернуться первые записи, остальное фечим.

Надо отыскать плюсы, которые продержат технологию лет 5 хотя бы.
VCL 16 лет никто не может свалить :D Опять, кажись на него спрос пошел :D
А COM забыли крепко. И Poket-PC ушло итд.

Называйте, что там удобно и быстро? Буду смотреть.

 Профиль  
                  
 
 Re: Достоинства и недостатки языка C#
Сообщение12.02.2017, 23:07 
Заслуженный участник
Аватара пользователя


02/08/11
4270
neg_lib в сообщении #1192134 писал(а):
VCL 16 лет никто не может свалить
16 лет по меркам энтерпрайза — не так уж и много.

-- 13.02.2017, 00:16 --

neg_lib в сообщении #1192134 писал(а):
Называйте, что там удобно и быстро? Буду смотреть.
Знаете, я не настолько в этом заинтересован.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модераторы: Toucan, maxal, Karan, PAV, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group