【发布时间】:2013-03-04 16:14:11
【问题描述】:
我一直对 Visual Studio 数据库项目很感兴趣,虽然它们看起来很有能力,但除了简单的概念验证工作之外,我从未在任何程度上使用它们。我想在一个新项目中尝试这个,并且我也有兴趣在其上使用 EF 层,但在过去的测试项目中,这需要付出一些体面的努力。
我很好奇:Visual Studio 是否成熟了其产品集成以支持构建数据库项目、在其之上构建 EF 层并最终构建代码的单一工作流,而不涉及中间步骤?
我们是一个小团队,没有专门的 SQL 开发人员,我们的主要目标是将数据库引入 Visual Studio 并使其在源代码控制 (TFS) 下得到很好的控制,并实现端到端之间的强集成结束。我们有兴趣成长为 EF,并且可能会从简单的开始,尽可能将其视为简单的 ORM 工具。
有没有人真正做到这一点,可以提供对过程的洞察力?
【问题讨论】:
-
为什么要“从数据库构建模型”? Entity Framework 的主要好处是您的概念模型可以不同于数据库中的物理模型。否则,您只是在使用 LINQ to SQL。
-
我将使用 VS 的数据库工具构建您的数据库,然后在您的应用程序中创建一个指向您的数据库的 edmx。当您更改/更新数据库项目时,只需更新您的 edmx 就可以了。
-
@John Saunders:我想特别问一下 Visual Studio 2012 中对 IDE 的更改是否促进了这种类型的交互。为了一个愚蠢的规则,删除我的标签感觉非常具有破坏性。
-
如果您只是将所有数据库表导入到模型中,您当然会从一个与数据库非常匹配的模型开始。这种情况下仍然没有“工作流程”。您必须创建数据库项目并导入数据库,然后从同一个数据库创建 EF 模型。
-
@bwerks:我知道你问这个问题已经有一段时间了,但我想知道你是否介意分享你决定做什么以及你的经历。现在,我工作的公司正在使用 EF6 Code First,并让 EF 生成脚本以根据模型更改修改我们的架构。其他 DB 对象(过程、视图等)已置于源代码控制之下,但我想使用 Visual Studio DB 项目,因为它可以在架构和存储过程、视图等之间进行类似编译的验证过程。有您发现 EF Code-First 和 DB 项目是互斥的?
标签: visual-studio entity-framework build visual-studio-2012 database-project