我可能在这里含糊不清,但我正在寻找一个在 linq 中放置基于集合的辅助操作的好地方,这样我就可以做类似的事情;
db.Selections.ClearTemporary()
它做了类似的事情
db.DeleteAllOnSubmit(db.Selections.Where(s => s.Temporary))
因为我可以弄清楚如何扩展Table<Selection>
我能做的最好的事情是在选择的部分类中创建一个静态方法(类似于 Ruby),但我必须像这样传递数据上下文;
Selection.ClearTemporary(MyDataContext)
这很糟糕,因为我有两个约定来进行基于集合的操作,并且我必须将数据上下文传递给静态类。
我见过其他人推荐将辅助方法打入部分数据上下文中,例如;
myDataContext.ClearTemporarySelections();
但我觉得这使 dc 成为内聚行动的垃圾场。
我肯定错过了一些东西。但愿如此。什么是约定?