|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Проработав 14 лет на Дельфи и Firebird я решил изучить C#, для чего поставил VS2015. После пары дней ковыряния в нем возникло много вопросов. Кто-нибудь вообще приложения БД с Firebird на Visual Studio С# пишет? Существуют ли какие-то стандартные подходы? Я разобрался как через дизайнер создать подключение и DataSet, полюбовался на 2000 строк кода, сгенерированного от добавления двух select запросов, и задумался - а в чем смысл этого? Создавать копию всей БД? Наверное, для чего то круто, но тут нафиг не надо качать на всех клиентов кучу ненужных данных. Смотреть на DataSet как на аналог TDataModule? Считать каждый DataSet представление некоей сущности - например, документа определенного типа (несколько запросов из разных таблиц + методы обновления)? Однако, этому мешает сложность задания для него простейших правил - всяких аналогов AfterInsert, BeforePost и т. д. - из дизайнера самого DataSet они не создаются, возможно надо вручную писать в коде этого DataSet.Designer.cs, если его вообще можно редактировать - но 2000 строк сгенерированного кода отбивают желание туда лезть. Забить вообще на все эти дизайнерские штучки и писать все руками, включая тексты sql-запросов прямо в коде? Так, конечно, можно. Но правильно ли? В принципе, несложно, наверное, сделать свой аналог FIBDataSet со свойствами SelectSQL, InsertSQL и т. п., внутри которого обращаться к C# адаптерам и датасетам. Но если это правильно, почему этого до сих пор никто не сделал? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 17:41 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Пришла мысль - использовать этот сгененрированный в дезайн-тайм DataSet как хранилище текстов sql-запросов и ничего больше. В принципе, есть плюс, когда один запрос используется в разных формах. Но возникает вопрос - а как тогда с параметрическими запросами быть, коих, как правило, большинство? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 20:19 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
EugeneBarЗабить вообще на все эти дизайнерские штучки и писать все руками, включая тексты sql-запросов прямо в коде? Так, конечно, можно. Но правильно ли?да ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2015, 21:08 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
EugeneBar, Выдели все SQL запросы в отдельную либу - будет у тебя слой базы данных. Сейчас ещё модно использовать ORMы. Считается что это экономит время программиста при написании CRUD задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 05:35 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Интересная тема. А как там с контролами для редактирования. Есть аналог TDBGrid? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:04 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
EugeneBarПроработав 14 лет на Дельфи и Firebird я решил изучить C#, для чего поставил VS2015. После пары дней ковыряния в нем возникло много вопросов. Кто-нибудь вообще приложения БД с Firebird на Visual Studio С# пишет? Существуют ли какие-то стандартные подходы? Я пишу. Вообще стандартным как бы считается Entity Framework, но лично для меня это неудобно. У меня слой работающий непосредственно с БД расположен в web-сервисе (филиальная сеть большая), клиентский winforms получает с сервиса Dataset-ы и уже оперирует с ними. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 22:11 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
BarkanEugeneBar, Выдели все SQL запросы в отдельную либу - будет у тебя слой базы данных. Сейчас ещё модно использовать ORMы. Считается что это экономит время программиста при написании CRUD задач. ORM это Entity Framework, вещь для человека пришедшего с Delphi идеологически чуждая ))) ТС в первом посте именно про него и говорит. авторИнтересная тема. А как там с контролами для редактирования. Есть аналог TDBGrid? Разумеется есть. И с контролами все нормально. Просто эээ подход отличается от дельфового. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 22:17 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Квази, ORM-ы и в Дельфи были. только все сдохли, потому что не годятся для систем с большим количеством пользователей. По крайней мере те, которые были сделаны для Дельфи. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2015, 00:43 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Да, я привык, что логика в БД на триггерах и процедурах, а клиент относительно тонкий. IMHO очевидно, что DataSet слизан с TClientDataSet и Мidas. Как сочетать объекты данных с реляционной БД я не понимаю. IMHO скорость будет страдать по любому. Мы засовываем данные в объект на клиенте - это, конечно, здорово, только половина логики остается на сервере и что с этим делать? Или использовать реляционную БД просто как хранилище, вроде кучи DBF файлов? Нафиг надо. слой работающий непосредственно с БД расположен в web-сервисе То есть трехзвенка? Для трехзвенки, понятно, по-другому. А насколько сложна логика работы? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2015, 14:42 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Есть аналог TDBGrid? Есть. Только на сколько я понял чтобы туда колонки в дизайн-тайм добавлять обязательно надо создать в этом странном дизайнере типизированный датасет. То есть к каждой форме надо еще отдельно этот датасет создавать - в отдельном файле, который определяет сам тип наборов данных. А на форму кладется датасет, включающий дататейблы этих типов. Вот тогда можно в грид в дизайн тайм колонки добавлять. А так - нет. Только колонки, ни с чем не связанные. Непонятно, почему в дизайнере нельзя было позволить добавлять колонки нужных типов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2015, 14:50 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
EugeneBarЕсть аналог TDBGrid? Есть. Только на сколько я понял чтобы туда колонки в дизайн-тайм добавлять обязательно надо создать в этом странном дизайнере типизированный датасет. То есть к каждой форме надо еще отдельно этот датасет создавать - в отдельном файле, который определяет сам тип наборов данных. А на форму кладется датасет, включающий дататейблы этих типов. Вот тогда можно в грид в дизайн тайм колонки добавлять. А так - нет. Только колонки, ни с чем не связанные. Непонятно, почему в дизайнере нельзя было позволить добавлять колонки нужных типов. Спасибо. А вот в целом там технология работы с БД даёт какие либо преимущества по сравнению с дельфи? Или те же яйца только в профиль? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 12:44 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
avp_, в Web удобно, в Desktop геморрою больше чем в Delphi в основном из-за того что приходится отказываться от недофетченных курсоров. В .NET DataSet всегда тащит всю выборку целиком в память, поэтому приходится перестраивать приложения так чтобы всегда фильтровалась только нужная часть выборки. Тупо сделать выборку из таблички в 1000000 записей и отобразить её в гриде нельзя. Это сразу убьёт всю производительность поскольку динамической подкачки из открытого курсора нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 13:02 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
EugeneBarТо есть трехзвенка? Для трехзвенки, понятно, по-другому. А насколько сложна логика работы? Фронт (т.е. собственно клиент) несложен - считать массив данных, потом идет обработка отдельных записей и запись результатов работы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2015, 13:09 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Есть ли бесплатный провайдер для Interbase ? Для Firebird - Есть - все без проблем но для Interbase Есть только платный IbProveder Есть и бесплатная версия, но без поддержки схем все труднее. Есть ли вариант работы c Interbase для Visual studio 2015 и выше ? на Embarcarcadero не нашел ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2017, 11:57 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
victorvologdaна Embarcarcadero не нашел ничего. http://docwiki.embarcadero.com/InterBase/XE7/en/Connecting_to_InterBase_from_Visual_Studio https://delphiaball.co.uk/2015/02/24/connecting-to-interbase-from-visual-studio/ собственно, драйверы к ИБ в дистрибутиве, и тут http://cc.embarcadero.com/myreg/interbase ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2017, 12:42 |
|
Использование Visual Studio C# c Firebird
|
|||
---|---|---|---|
#18+
Спасибо. но эти драйвера не подходят для дизайнера DataSource. Их я находил, но может быть есть DDEX драйвера или OLEDB Купить IbProvider пока нет возможности. Если подскажете - большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2017, 10:35 |
|
|
start [/forum/topic.php?fid=40&msg=39078954&tid=1561451]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
132ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 241ms |
0 / 0 |