статический метод для частичных классов LinqSql

#c# #linq-to-sql

#c# #linq-to-sql

Вопрос:

У меня есть несколько классов Linq-2-sql, созданных visual Studio, и теперь я добавляю некоторую функциональность на уровне класса. Например, у меня есть класс Orders и у меня есть статические методы, такие как ‘getAllOrdersBetween(date_from,date_end)’. Итак, я могу вызвать: tb_orders.GetAll…

Это подходящее место для размещения такого рода функциональности? И не вредит ли производительности наличие такого рода статических методов в классе объектов Linq-2-sql?

Спасибо за ваш совет, Pleun

Комментарии:

1. Можете ли вы показать какой-нибудь пример кода, как вы это делаете?

Ответ №1:

Вероятно, нет. Вам следует выполнить здесь некоторые поисковые запросы по ‘Репозиторию’ и ‘Шаблону репозитория’. то, что вы описываете, — это объект, который знает, как находить заказы по определенным критериям. Вам захочется отделить это от вашего класса orders, чтобы вы могли тестировать его независимо и заменять различные типы репозиториев. Вы не хотите, чтобы ваши заказы «знали», что они исходят из linq2sql.

Комментарии:

1. хорошо, я так и сделаю. И можете ли вы прокомментировать аспект производительности. Вредно ли иметь эти «дополнительные» статические методы или компилятор справляется с этим эффективно?

2. Я не думаю, что проблема будет заключаться в производительности почти в такой же степени, как в разделении и тестировании.