【问题标题】:Do VS Database projects and Entity Framework work together?VS 数据库项目和实体框架是否一起工作?
【发布时间】: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


【解决方案1】:

我们用过VS2014,工具看起来和早期版本差不多 不要以为这些年来变化太大

我们的解决方案中有 EDMX 模型和数据库项目 是否意味着您需要使 db 项目保持最新。 但这很容易做到,您只需将 EDMX 发布到本地框/目标 然后可以将更改与项目本地的架构比较导入。

所以他们仍然可以拥有模型驱动的数据库设计 并使用 DB 项目将更改部署到 Dev/Stage/Live 框 并且还可以通过自动部署发布。

db 项目有一个后期构建脚本选项 在哪里可以使用它来做种子数据 还有一个预构建,当数据在实时数据库中时,如果需要更改字段类型的结构和类型,您可以在其中进行数据库操作。

架构比较工具在 Visual Studio 中相当不错 可以将 DB 与 DB、DB 与 Project 或 Schema 文件进行比较

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    相关资源
    最近更新 更多