Я могу быть расплывчатым здесь, но я ищу хорошее место для размещения вспомогательных операций на основе наборов в linq, чтобы я мог делать такие вещи, как;
db.Selections.ClearTemporary()
который делает что-то вроде
db.DeleteAllOnSubmit(db.Selections.Where(s => s.Temporary))
Поскольку я могу понять, как расширить Table<Selection>
, лучшее, что я могу сделать, это создать статический метод в частичном классе Selection (аналогично Ruby), но мне нужно передать контекст данных, например;
Selection.ClearTemporary(MyDataContext)
Это отстой, потому что у меня есть два соглашения для выполнения операций на основе наборов, и я должен передать контекст данных статическому классу.
Я видел, как другие люди рекомендовали накапливать вспомогательные методы в части контекста данных, например;
myDataContext.ClearTemporarySelections();
Но я чувствую, что это делает DC свалкой для несплоченных операций.
Наверняка я что-то упускаю. Я надеюсь, что это так. Какая конвенция?