Re[16]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: TK Лес кывт.рф
Дата: 13.01.08 19:35
Оценка:
Здравствуйте, _Budda_, Вы писали:

_B_>>>Собственно не вопрос, какой именно класс загружает данные. Главное, что кто-то из System.LinQ.

_B_>>>Сумбур (для меня) внесло использование генерируемых студией классов... я просто не знаю их внутренностей... потому и возникают вопросы...
G>>А посмотреть?
_B_>Обязательно посмотрю. Но щас нет под рукой установленной MSSQL с базой, чтобы посмотреть

Linq должен работать и для SQL Server Compact — его ставить практически не надо.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[17]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 13.01.08 21:46
Оценка:
Здравствуйте, TK, Вы писали:

TK>Linq должен работать и для SQL Server Compact — его ставить практически не надо.


Ну, пока что Linq2Sql работает только с MSSQL, поддержка иных БД пока только планируется, а у CE довольно много отличий.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[18]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: TK Лес кывт.рф
Дата: 13.01.08 23:22
Оценка:
Здравствуйте, AndrewVK, Вы писали:

TK>>Linq должен работать и для SQL Server Compact — его ставить практически не надо.

AVK>Ну, пока что Linq2Sql работает только с MSSQL, поддержка иных БД пока только планируется, а у CE довольно много отличий.

Пробовал? У меня Linq2Sql работает и с базами SqlServerCe.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[19]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.01.08 08:45
Оценка:
Здравствуйте, TK, Вы писали:

TK>Пробовал? У меня Linq2Sql работает и с базами SqlServerCe.


Работать то он будет до той поры пока не наткнешься на различия. Воткни, к примеру, Take и Skip.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
Re[18]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: Kisloid Мухосранск  
Дата: 14.01.08 09:37
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ну, пока что Linq2Sql работает только с MSSQL, поддержка иных БД пока только планируется, а у CE довольно много отличий.


Здесь:

Differences between LINQ to SQL for SQL Server and SSCE:

Notice the command line tool I referred you to for generating the object-relational mapping. While SQL Server will have a nice designer to do the same thing, atleast till Orcas, SQL Compact will have to do with SqlMetal command line tool. No designer support. (If you prefer command line tools like me, you shall have no problem!)

Note: SQLMetal extracts SQL metadata from your database and generates a source file containing entity class declarations. Alternatively, you can split the process into two steps, first generating an XML file representing the SQL metadata and then later translating that XML file into a source file containing declarations. This split process allows you to retain the metadata as a file so you may edit it.

LINQ queries are eventually mapped to SQL queries. Since SQL supported by SSC is a strict subset of that on SQL Server, LINQ follows suit. (To see the SQL which is generated, set db.Log = Console.Out where db is the DataContext.).

Stored procedures and views are not supported by SSC, and so will not be supported through LINQ to SQL either.

... << RSDN@Home 1.2.0 alpha rev. 786>>
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re[2]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.01.08 12:56
Оценка:
Здравствуйте, hell citizen, Вы писали:

HC>А в чем смысл такого средства? У меня есть функция, которая загружает списки из БД по коду объекта или по имени хп, чем этот LINQ лучше?


Это отвечает на твой вопрос?
Автор: VladD2
Дата: 11.01.08
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.01.08 12:56
Оценка:
Здравствуйте, hugo, Вы писали:

H>Ага, действительно, странно было бы написать всю бизнес-логику на T-SQL и использвать LINQ 2 SQL для получения результата на клиенте А повторное использование написанной таким образом БЛ меня лично повергает в большое уныние


Даже в таком случае будет выгода, так как при измененеии процедур и функций в СУБД при перегенерации метаданных буду выявляться несоотвествия типов и т.п. Это облегчит поиск мест в программе которые нужно привести в соотвествие с БД.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.01.08 12:56
Оценка:
Здравствуйте, trickyKid, Вы писали:

K>Какая-такая бизнес логика в SQL? Я говорю о отчётах, например, или выборка данных для "сложных" форм. Там чаще всего идёт толпа join и некоторое количество union с группировками и агрегациями.


Дык join-ы и union-ы ничем не хуже делать и средствами ЛИНК-а.

K>Тут, кстати, вижу плюс использования обычного SQL в том, что чтобы проверить работает ли запрос, мне не надо проект собирать весь.


Тут сама компиляция и интелисенс снимет большую часть проблем. К тому же, надо понимать, что мелких и простых запросов к БД будет куда больше. Отлаживать их отдельно особого смысла нет. А вот тестировать (в программе) надо. Так что это только повысить твою производительность.

Ну, а для тестирования сложных запросов можно создать интерпретатор ЛИНК-а который позволит интерактивно проверять запросы. Задача эта довольно простая. Не удивлюсь если он уже создан или запросы можно просто тестировать в окне Immediate в VS2008.

K> Как вы, кстати, собираетесь реализовывать бизнес логику на Linq 2 sql?


Гы. В сто раз лучше чем на убогом T-SQL. В T-SQL есть одно достоинство — SQL, а вот "T-" в нем очень поганое. Это убогий язык с массой ограничений.

K>Хотя, конечно, понятно, что с linq 2 sql мне не надо на каждый мелкий запрос делать sql функцию и плодить к ней бизнес объект. Хотя, не помню, когда последний раз нужен был такой простой запрос, разультаты которого нельзя было бы вытянуть уже из загруженных бизнес объектов.


Дык сам подход с кэшированием, да и созданием бизнес-объектов порочен и ущербен. Именно он вынуждает делать переборы вместо запросов и сажает производительность.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.01.08 12:56
Оценка:
Здравствуйте, trickyKid, Вы писали:

K>Ну, не только отчёты... Если на форме торчит результат выборки из пару десятков таблиц, то имхо, тут тоже проще процедуру сделать...


Ну, и какая разница будет ли эта хранимая процедура или функция на C# 3.0 или другом совместимом с ЛИНК-ом языке? T-SQL убог. Современные ЯП куда гибче и существенно быстрее. Понятно, что в основном там будут запросы к БД и скорость тут не очень важна, но все же куда приятнее чувствовать под копотом мощьный движок, а не дряглый и малосильный. T-SQL максимум что позволяет, это поместить все запросы в СУБД. Но обычно это не является критичным. Ведь выборка делается в бизнес-уровне который соеденен с СУБД широким и не латентным каналом связи. В прочем, уверен, что ЛИНК можно применять из из того же MS SQL Swrver, так что вообще не ясно в чем проблема.

Лично я не задумываясь променяют T-SQL на ЛИНК.

K>Здесь будут множественные вызовы в базу и скорее всего транзакция на всё время работы этого кода, что тоже не есть хорошо.


Обычно время затрачиваемое на переход гранниц между промежуточным слоем и СУБД не сравнимо со временем запросов. Так что эти опасения не очень обоснованны. К тому же хранимки тоже можно писать на Шарпе. А это позволяет избавиться от оверхэда вызова.

В общем, это предварительнрые оптимизации. Вот если вы будете сдавать систему и профайлером выявите, что в некоторых местах оверхэд на межсетевые вызовы слишком велик, то и запихнете эти места в хранимки. А так вы просто убьете свое веремя на борьбу с собственными страхами.

K>Хотя, конечно, приятнее писать логику(циклы и условия) на C# чем на TSQL.


Вот именно. А лучеш вообще без циклов...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: Alexey M.  
Дата: 14.01.08 13:28
Оценка: 34 (1)
Здравствуйте, VladD2, Вы писали:

VD>Ну, а для тестирования сложных запросов можно создать интерпретатор ЛИНК-а который позволит интерактивно проверять запросы. Задача эта довольно простая. Не удивлюсь если он уже создан или запросы можно просто тестировать в окне Immediate в VS2008.


Вот это можно использовать для просмотра и исполнения Linq to Sql запросов в дебаге. Правда этот инструмент довольно сырой.
Re: К вопросу о LINQ to SQL и O/R Mapper-ах
От: _Budda_ Украина http://vfm.1gb.ru
Дата: 15.01.08 10:32
Оценка:
В разгоревшейся дискусии о Linq2sql не затронута тема ADO.NET 3.0 — т.е. Entity FrameWork. Может я просто чего-то не знаю... тогда просветите, плиз.

Или "это" (Entity Framework) — и есть "вот то самое" вставляние базы данных в проект, на основе которого генерятся классы, представляющие таблицы и их данные... ?
Re[6]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.01.08 13:22
Оценка:
Здравствуйте, Alexey M., Вы писали:

AM>Вот это можно использовать для просмотра и исполнения Linq to Sql запросов в дебаге. Правда этот инструмент довольно сырой.


Это немного не то, но тоже вещь полезная.

Это визуализатор. Он позволяет в режиме отладки Студии видеть, что тварится в запросе. Я же говорил, про отдельную утилиту которая позволяла бы писать и сразу же интерактивно выолнять ЛИНК-запросы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: VladD2 Российская Империя www.nemerle.org
Дата: 15.01.08 13:22
Оценка:
Здравствуйте, _Budda_, Вы писали:

_B_>В разгоревшейся дискусии о Linq2sql не затронута тема ADO.NET 3.0 — т.е. Entity FrameWork. Может я просто чего-то не знаю... тогда просветите, плиз.


Лично я с ним не возился. Так что пусть АВК и IB ответят, если копили... У них должен быть доступ к альфам и т.п.

_B_>Или "это" (Entity Framework) — и есть "вот то самое" вставляние базы данных в проект, на основе которого генерятся классы, представляющие таблицы и их данные... ?


Это делает SQLMetal. А Entity Framework должен по уму делать обратный процесс. Предоставлять некий дизайнер оперирующий некими высокоуровневыми сущностями (моделью). А уже по модели должна генерироваться БД и классы для ее отображения. Но это все мое видение, которое может не иметь ничего общего с действительностью.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: _Budda_ Украина http://vfm.1gb.ru
Дата: 15.01.08 13:30
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, _Budda_, Вы писали:


_B_>>В разгоревшейся дискусии о Linq2sql не затронута тема ADO.NET 3.0 — т.е. Entity FrameWork. Может я просто чего-то не знаю... тогда просветите, плиз.


VD>Лично я с ним не возился. Так что пусть АВК и IB ответят, если копили... У них должен быть доступ к альфам и т.п.

К слову: входит ли этот энтити фрэймворк в .НЕТ фрэймворк 3.0 или 3.5?

_B_>>Или "это" (Entity Framework) — и есть "вот то самое" вставляние базы данных в проект, на основе которого генерятся классы, представляющие таблицы и их данные... ?


VD>Это делает SQLMetal. А Entity Framework должен по уму делать обратный процесс. Предоставлять некий дизайнер оперирующий некими высокоуровневыми сущностями (моделью). А уже по модели должна генерироваться БД и классы для ее отображения. Но это все мое видение, которое может не иметь ничего общего с действительностью.


Порылся чуток в гугле, из найденного понял, что Metal — это консольная программулина, которая вроде как идёт в поставке со студией (2008?). Но в одном из постов топика мне намекали, что она интегрирована в студию... всё верно?
Re[4]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: TK Лес кывт.рф
Дата: 15.01.08 13:36
Оценка: 1 (1)
Здравствуйте, _Budda_, Вы писали:

VD>>Лично я с ним не возился. Так что пусть АВК и IB ответят, если копили... У них должен быть доступ к альфам и т.п.

_B_>К слову: входит ли этот энтити фрэймворк в .НЕТ фрэймворк 3.0 или 3.5?

Нет, не входит — выйдет позже отдельным пакетом.

VD>>Это делает SQLMetal. А Entity Framework должен по уму делать обратный процесс. Предоставлять некий дизайнер оперирующий некими высокоуровневыми сущностями (моделью). А уже по модели должна генерироваться БД и классы для ее отображения. Но это все мое видение, которое может не иметь ничего общего с действительностью.


_B_>Порылся чуток в гугле, из найденного понял, что Metal — это консольная программулина, которая вроде как идёт в поставке со студией (2008?). Но в одном из постов топика мне намекали, что она интегрирована в студию... всё верно?


Нет, не интегрирована. Есть в составе Windows SDK
... << RSDN@Home 1.2.0 alpha rev. 786>>
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[4]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: Alexey M.  
Дата: 15.01.08 13:55
Оценка:
Здравствуйте, _Budda_, Вы писали:

_B_>Порылся чуток в гугле, из найденного понял, что Metal — это консольная программулина, которая вроде как идёт в поставке со студией (2008?). Но в одном из постов топика мне намекали, что она интегрирована в студию... всё верно?


В состав студии входит визуальный редактор назначение которого аналогично SQLMetal.
Re[5]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: _Budda_ Украина http://vfm.1gb.ru
Дата: 15.01.08 14:12
Оценка:
Здравствуйте, Alexey M., Вы писали:

AM>Здравствуйте, _Budda_, Вы писали:


_B_>>Порылся чуток в гугле, из найденного понял, что Metal — это консольная программулина, которая вроде как идёт в поставке со студией (2008?). Но в одном из постов топика мне намекали, что она интегрирована в студию... всё верно?


AM>В состав студии входит визуальный редактор назначение которого аналогично SQLMetal.


Скажи, плиз, где его найти? Я видел "Server Explorer", но это другое, верно?
Re[6]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: Alexey M.  
Дата: 15.01.08 14:26
Оценка: 1 (1)
Здравствуйте, _Budda_, Вы писали:

_B_>Скажи, плиз, где его найти? Я видел "Server Explorer", но это другое, верно?


Добавляешь новый файл в проект, при этом выбираешь тип "Linq to Sql classes". Дальше можно будет кидать таблицы из Сервер Эксплорера на поверхность редактирования.
Re[7]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: _Budda_ Украина http://vfm.1gb.ru
Дата: 15.01.08 15:16
Оценка:
Здравствуйте, Alexey M., Вы писали:

AM>Здравствуйте, _Budda_, Вы писали:


_B_>>Скажи, плиз, где его найти? Я видел "Server Explorer", но это другое, верно?


AM>Добавляешь новый файл в проект, при этом выбираешь тип "Linq to Sql classes". Дальше можно будет кидать таблицы из Сервер Эксплорера на поверхность редактирования.


Спасибо.
Re[7]: К вопросу о LINQ to SQL и O/R Mapper-ах
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.01.08 19:10
Оценка: 34 (1)
Здравствуйте, VladD2, Вы писали:

VD>Это визуализатор. Он позволяет в режиме отладки Студии видеть, что тварится в запросе. Я же говорил, про отдельную утилиту которая позволяла бы писать и сразу же интерактивно выолнять ЛИНК-запросы.


http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.