我在 .net 3.5 中有一个基于 Linq-2-SQL 的数据层。我们正在考虑迁移到 .Net 4。很快。当我们开始最初的开发时,我对将 EF 用于数据层很感兴趣,但发现它在 .Net 3.5 中并不是一个真正的选项。现在我们正在升级,我正在重新考虑。
我意识到 .Net4 仍然支持 L2S,但是我很想切换到更活跃的开发领域,以便将来验证一个可能在相当长一段时间内成为业务核心的系统。(我的理解是基于诸如“我们说我们将改进它的核心 (L2S) 并在有意义的地方添加客户请求但实体框架将是主要关注点。”来自 Damien Guard 在这篇文章的评论中的陈述.
更复杂的是,我们对 L2S 实现做了一些修改:
- 我们对 .tt 生成文件进行了相当程度的定制,并稍微定制了 L2ST4。
- 我们将存储过程用于所有 CRUD 操作(我们自动生成),因为这允许我们根据需要打开/关闭特定表上的细粒度审计跟踪。
我知道我们使用的其他大部分内容都可以,因为我自己在 EF4 中完成了它(实际上很多都是在 EF4 数据库上开始的),但我想知道上述自定义是否会问题。
所以:
- 我们还能有一个定制的 .tt 类型生成系统(或类似的东西)吗?
- 我们仍然可以将我们自己定义的存储过程用于 CRUD 吗?
注意:如果我们使用 EF,我可能会使用 Database First 版本。