LINQ to SQL - облегченный O / RM? - PullRequest
0 голосов
/ 20 декабря 2010

Я слышал от некоторых, что LINQ to SQL хорош для легких приложений. Но затем я вижу, что LINQ to SQL используется для Stackoverflow, и кучу других известных мне .com (из интервью с ними). ​​

Хорошо, так это правда? для сайта электронной коммерции, который приносит миллионы, и вы, как правило, выполняете только базовые CRUD-операции в большинстве случаев, за исключением случайного хранимого процесса для чего-то более сложного, достаточно ли LINQ to SQL и достаточно ли эффективна в плане производительности или способна быть достаточно настроенным, чтобы успешно работать на сайте электронной коммерции? Я слышал, что вам просто нужно настроить производительность на стороне БД при использовании LINQ to SQL для лучшего подхода.

Итак, здесь действительно 2 вопроса:

1) Значение / область действия / определение «легковесного» решения O / RM : что, черт возьми, означает «облегченный», когда люди говорят, что LINQ to SQL - это «облегченный O / RM» и это правда??? Если это так легко, то почему я вижу кучу огромных .com, использующих его?

Достаточно ли хорошо для запуска основных .com (очевидно, это выглядит так) и что определяет контекст "легкого веса" ... это такое общее утверждение.

2) Производительность : Я работаю над собственным .com и исследую различные O / RM. Я на самом деле не смотрю на Entity Framework (пока), просто хочу выяснить основы LINQ to SQL и определить, будет ли он достаточно эффективным для меня. Я думаю, что проблема в том, что вы не можете настроить или контролировать SQL, который он генерирует ...

1 Ответ

2 голосов
/ 20 декабря 2010

Когда люди описывают LINQ to SQL как легкий, я думаю, что они имеют в виду, что он достаточно хорош в том, что делает, но есть много вещей, которые он даже не пытается сделать.Я думаю, что это хорошо, потому что все эти дополнительные вещи, которые другие ORM могут попытаться сделать, на самом деле даже не нужны, если вы просто готовы пойти на несколько жертв.

Например, ядумаю, что лучше всего хранить все данные приложения в одной базе данных.Это та вещь, которую ожидает LINQ to SQL, если вы хотите, чтобы у вас была возможность выполнять объединения и еще много чего.Однако, если вы работаете в какой-то среде со слоями бюрократии, вы, возможно, не сможете убедить всех перемещать устаревшие данные или сосредоточиться на единственном способе действий.В конце концов, вам нужен более сложный ORM, и в итоге вы получите, пожалуй, превосходное программное обеспечение.Это всего лишь один пример того, почему вы не сможете формировать эти данные так, как они должны быть.

Так что, да, если крупные .com хотят или могут действовать согласованно и следовать там передовым методамнет причины, по которой ORM не может быть настолько простым, насколько это необходимо.

...