我想向 SO 社区询问我项目中的这个问题。我有一个 SL 3.0 中的 Silverlight 应用程序项目,目前该项目采用经典设计,在 Linq2SQL 中包含业务层和数据层。问题是数据模型可能处于不同的版本中,中间有一些小的变化。
我有 2 个解决方案,但似乎都不好:
摆脱 Linq 并放置旧的存储过程:
- 好处是,如果数据模型发生变化,我只需更改存储过程
- 不好的部分是我的带有动态过滤器的 linq 会给我 30 个需要更改的存储过程
为每个版本构建一个数据层
- 优点是模型通过非回归单元测试保持干净
- 不好的是我必须为模型的每个新版本进行开发
是否有一个好的模式来观察数据层的可访问性?
最佳答案
我建议选择 2,但要确保两个实现都实现相同的接口(interface)。将数据层的类型存储在配置文件中并在运行时由工厂类加载。
关于c# - Linq 中的 DataLayer 具有不同版本的数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1819782/