|
|
1
1
从LINQ开始,我喜欢传递表达式而不是字符串。但是,也许那只是我?我也不喜欢ActiveRecord,因为它在同一个对象中混合了状态和行为。很好的包装,但不是模型和数据访问的干净分离。 我见过客户类被传递到活动记录的情况,但如果你这样做的话,存储库模式会更干净,并将行为和状态分开。然而,我认为使用你在活动记录中已有的投资并传递一个对象并没有错。 如果你想创建一个criteria类,你会得到一个策略模式,这可以让你的活动记录比现在更活跃。然而,这是一种适用的模式,也将解决任何注入问题。 |
|
|
2
0
虽然它会将您推出数据库级别,但您可以使用类似于比较器的东西。我不知道C#,所以我只是捏造了它,但你知道要点:
|
|
|
3
0
如果没有理由不这么做,我会提供这样一种方法:
如果你有不这样做的理由,你需要清楚地说明这些理由,并详细检查它们,以便设计正确的解决方案。 |
|
|
4
0
看看codeplex上的WWPlatform DataAccess示例。它展示了一个极好的例子,可以通过存储库模式将搜索规范实例作为参数提供。 |