进一步分析
以下是基于下面的评论列出的LinqToSql缺点列表:
- 必须不断更新设计器中的表和项目,以便在更改底层数据库时进行更改。没有办法“刷新”或“同步”它,使其自动识别更改。
- 版本控制由于设计器未按一致的顺序生成底层文件而变得复杂。
- LinqToSql设计器生成与SqlMetal不同的代码。
- 存在涉及贪婪加载的问题/错误。
其中,第1项是我最关心的问题。即使是在小型项目中,变化也是不可避免的。我记得曾经尝试使用Windows Forms设计器映射到数据库,但它在我的脸上多次爆炸,我放弃了它,转而使用自己编写的ADO.NET帮助程序类。
然而,似乎SqlMetal可能完全能够满足我的需求。我运行一个命令,它从头开始重新生成来自数据库的所有内容,我就完成了。如果我保持我的数据库简单(只有表-没有存储过程、视图或函数),也许SqlMetal就是我所需要的。