LINQ Benchmarks в многоуровневой среде
-
05-07-2019 - |
Вопрос
Я участвую в разработке многоуровневого приложения, использующего LINQ2SQL, отделенного от веб-сервера связыванием NET.TCP на WCF. Р>
Мои вопросы:
<Ол>Решение
1) Сконцентрируйтесь на правильно нормализованном дизайне базы данных. Я бы сказал, что когда вы вынуждены делать компромиссные решения в своем коде по сравнению с дизайном базы данных, если производительность - ваша цель, сделайте компромисс в своем объектном дизайне вместо вашего дизайна базы данных. Поймите, что вы не сможете создать правильный дизайн базы данных супертипов / подтипов, который будет работать с Linq to SQL (мне сказали, что вместо этого вам нужно использовать EF). Р>
2) Зависит от того, что вы здесь имеете в виду. Если вы спрашиваете, как бы вы сериализовали анонимные классы по сети, простой ответ: «Вы не можете, поэтому не пытайтесь». Если вы хотите разместить списки объектов по сети, просто используйте метод расширения ToArray () в своих коллекциях IEnumerable, чтобы передавать массивы ваших бизнес-объектов по сети.
Другие советы
Linq to SQL работает очень медленно, если вы не компилируете запросы. В противном случае ваше приложение будет связано с процессором, так как большую часть времени будет тратить на преобразование деревьев выражений в SQL. Р>
Мы говорим о 10-кратном увеличении производительности, если вы используете скомпилированные запросы. Попробуйте:)