c# - Linq 中的 DataLayer 具有不同版本的数据模型

标签 c# design-patterns linq-to-sql

我想向 SO 社区询问我项目中的这个问题。我有一个 SL 3.0 中的 Silverlight 应用程序项目,目前该项目采用经典设计,在 Linq2SQL 中包含业务层和数据层。问题是数据模型可能处于不同的版本中,中间有一些小的变化。

我有 2 个解决方案,但似乎都不好:

  1. 摆脱 Linq 并放置旧的存储过程:

    • 好处是,如果数据模型发生变化,我只需更改存储过程
    • 不好的部分是我的带有动态过滤器的 linq 会给我 30 个需要更改的存储过程
  2. 为每个版本构建一个数据层

    • 优点是模型通过非回归单元测试保持干净
    • 不好的是我必须为模型的每个新版本进行开发

是否有一个好的模式来观察数据层的可访问性?

最佳答案

我建议选择 2,但要确保两个实现都实现相同的接口(interface)。将数据层的类型存储在配置文件中并在运行时由工厂类加载。

关于c# - Linq 中的 DataLayer 具有不同版本的数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1819782/

相关文章:

c# - Where 查询的通用 DBContext

c# - 调用 native C++ 方法时在 Debug模式 (F5) 下崩溃

javascript - Bootstrap 模式无法正确关闭

java - 观察者模式建议

design-patterns - Web 开发设计模式列表?

c# - LINQ 2 SQL 嵌套表插入错误毫无意义

c# - 分析 MongoDB 数据库以查看执行的查询

java - 具有多种条件的工厂模式

c# - 在 LINQ to SQL 中执行查询

c# - LINQ-to-SQL + 一对多 + 数据绑定(bind)删除