Вам не нужно определять контракты данных, когда вы используете только примитивные типы в качестве параметров. Они считаются контрактами по умолчанию. Если вы хотите использовать сложный тип в качестве параметра, это должен быть DataContract. Если число параметров становится большим (скажем, больше 4) или вы хотите сгруппировать связанные параметры, вы можете инкапсулировать их в пользовательский тип, который затем должен быть DataContract.
Некоторым людям нравится всегда использовать DataContracts, даже если у них только один параметр. Это может упростить жизнь позже, когда вы захотите добавить параметр в операцию. Вам просто нужно добавить его в класс контракта данных, вместо того чтобы изменять каждый вызов, а также интерфейс контракта на обслуживание и класс, реализующий его. Это вопрос личных предпочтений.
Что касается хранения ваших данных, вы можете захотеть, чтобы ваш слой доступа к данным (incDBEntities
) был членом класса, который вы создаете только один раз, а не каждый раз, когда вызывается операция.