我和我的团队即将启动一个新项目,目前我们正在探索和测试一些新技术(或者不那么新)。直到今天,我们一直使用经典的ADO与DBDataReaders,懒加载代理,并在某些情况下使用DataTables。我们的团队由3名开发人员和一名数据库设计师组成,我们的项目至少包含130个表格,而我们的新项目有可能增长到100个表格。
我最近两天一直在阅读并进行了一些简单的EF5测试,但仍无法决定是否应该使用它。以下是一些问题:
1. 我们通常将一个大项目拆分为许多“模块”项目,以便更好地在源代码控制下工作得更快更好。我们是否要为整个数据库使用一个大的“edmx”?
2. 由于我们有一个数据库设计师,我怀疑CodeFirst不是一个选项。因此,使用Database First方法值得吗?
3. 如果我们使用Database First方法,EF是否足够聪明以正确检测到所有关系,并准备好供我使用,而不需要更多的配置?(额外的配置指的是我必须编写DataAnnotations或必须覆盖DbContext)
4. 就个人而言,我很自信能够用SQL设计数据库。唯一的烦恼是当我的类列表中的实体发生更改时,我必须更新所有的select、delete、update、insert脚本。EF将为我处理此问题,但除此之外,我开始相信它会减慢性能,并最终减缓我的生产速度,因为我们不熟悉它。
你认为值得吗?除DataAnnotations和DbContext ovveride之外,是否有人使用普通的T4模板来创建表格(模式)呢?
我最近两天一直在阅读并进行了一些简单的EF5测试,但仍无法决定是否应该使用它。以下是一些问题:
1. 我们通常将一个大项目拆分为许多“模块”项目,以便更好地在源代码控制下工作得更快更好。我们是否要为整个数据库使用一个大的“edmx”?
2. 由于我们有一个数据库设计师,我怀疑CodeFirst不是一个选项。因此,使用Database First方法值得吗?
3. 如果我们使用Database First方法,EF是否足够聪明以正确检测到所有关系,并准备好供我使用,而不需要更多的配置?(额外的配置指的是我必须编写DataAnnotations或必须覆盖DbContext)
4. 就个人而言,我很自信能够用SQL设计数据库。唯一的烦恼是当我的类列表中的实体发生更改时,我必须更新所有的select、delete、update、insert脚本。EF将为我处理此问题,但除此之外,我开始相信它会减慢性能,并最终减缓我的生产速度,因为我们不熟悉它。
你认为值得吗?除DataAnnotations和DbContext ovveride之外,是否有人使用普通的T4模板来创建表格(模式)呢?