问题标签 [db-first]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
579 浏览

c# - 首次使用 db 时如何管理不同分支中的 db 架构更改?

我有一个 Entity Framework 5 DB-First 项目,我们刚刚从 TFS 迁移到 Git。在 TFS 中,我们使用 RedGate 的 SQL 源代码控制使数据库保持最新状态,这是一种不错的做事方式,假设每个人都在开发主干,因为分支非常困难,所以几乎每个人都在使用最新版本的数据库架构。

但是,现在我们在 Git 上,我希望 db 更改成为功能分支的一部分。由于 Git 允许如此轻松地从一个分支跳转到另一个分支,我希望开发人员可以从包括 db 更改在内的功能跳转到没有这些更改的功能。代码更新得很好——但是数据库呢?我怀疑 RedGate 的产品是否会在如此快速的时间内处理上下迁移 - 还是我错了?如果 RedGate 无法处理这些上下迁移,那么在我的代码中正确的做法是什么?

顺便说一句,我确实搜索了其他类似的问题,并找到了这个,尽管答案是将迁移脚本包含在功能分支中。对于“向上”迁移来说这一切都很好,但是如果我在一个分支中编写一个特性,那么我会切换到另一个分支来对其他人的拉取请求进行代码审查,然后我对我的我分支中的本地数据库应该以某种方式恢复。但是怎么做?

更新: RedGate 通过向我推荐这篇文章来回应支持电话。基本上,如果你想切换分支,你必须从源代码管理中取消链接/重新链接你的数据库。而且您不能创建或合并分支。简而言之,呃。有更好的建议吗?

0 投票
1 回答
817 浏览

c# - Entity Framework DB First - 模型中的继承问题

我在使用 EF DB First 时遇到了一些问题。说我有:

  • 一桌人
  • 具有指向 Person 的外键的学生表
  • 具有指向 Person 的外键的表 Teacher

数据库结构

从数据库创建的模型生成下一个类:

而我真正想看到的是

是否有任何关于配置的约定或我缺少的任何东西来获取继承的类?

更新

类是以这种方式生成的,因为模型指定了 Person、Teacher 和 Student 之间的这些关联。那么我的问题应该是......有没有办法使用 EF 从数据库创建模型,以便模型包含从其他类继承的类?

0 投票
3 回答
482 浏览

entity-framework - DB First,MVC 4,数据库“master”中的 CREATE DATABASE 权限被拒绝

当我发布我的网站时,我的服务器上不断收到此错误 - 即使没有更改数据库模型。

该网站在本地运行良好。

我正在使用数据库优先方法。

如果我删除服务器上站点中的所有文件,请在服务器上恢复我的本地数据库。从 VS 发布网站。有时它会在那之后运行良好。

如果我随后在数据库内容中进行一些更改,我将收到错误消息。

我不想在服务器上创建任何数据库/表 - 只需禁用需要执行的代码部分。在 MVC3 中,我们有这个 DropCreateDatabaseIfModelChanges 但我在当前站点中看不到任何内容。

我能做些什么?

我的连接字符串:

还有我的 dbcontext

0 投票
3 回答
83 浏览

c# - DB First,MVC4,Entity Framework 5——显示来自多个表的值的最佳实践?

首先,我是 DB First、MVC4、Entity Framework 5 尤其是 LINQ 的新手。

假设我们有一个包含以下表格的数据库:

现在我们要创建一个ProjectNumberResultView可以搜索ProjectNumber. 结果应显示ProjectNumber包含给定searchString数据和其他表中的一些附加数据的每个数据。

我的解决方案是创建一个新的 ViewModel 类:

我为我写了这个方法SearchController

我讨厌这个解决方案,因为我必须使用两次 foreach 迭代……我肯定更喜欢加入解决方案,但我无法解决。

我试过这样的事情:

我的问题是:

  1. 什么是正确的(LINQ??)选择语法?
  2. 既然它是连接对象,我应该返回什么?或者我必须向我的 ProjectNumberResultView.cshtml 文件添加什么?
  3. 有没有更好的方法?
0 投票
1 回答
74 浏览

c# - 如何使用 EF5 和数据库优先方法在 ASP.NET MVC4 Web 应用程序中重构 web.config?

我使用 EF5 和 Db First 方法启动了一个 ASP.NET MVC4 Web 应用程序。现在我已经将我的模型和上下文移动到一个MyApp.DataAccess类库项目中。我添加了MyApp.DataAccessMyApp.Web. 我与我的Web.config,尤其是这一部分有什么关系:

编辑: 错误信息:Unable to load the specified metadata resource

0 投票
1 回答
72 浏览

asp.net-mvc-4 - 在 DB-First 方法中设置一对一关系?

我有一个表结构如下

FeedbackTable 和 ApprovalTable 具有 1-1 关系。当我生成模型(使用数据库优先方法)Feedback modelicollectionApproval Table我需要在实际模型类中通过导航更改为 1-1 关系。

我该怎么做?是否可以在创建模型之前从数据库本身设置 1-1 关系?

学生反馈模型

0 投票
1 回答
4539 浏览

c# - 使用实体框架保存具有外键约束的数据

我正在编写一个从文件中读取数据然后更新数据库的代码(即删除整个数据库并重新填充表)

我有以下 4

培训班

专长

课程_专业

部门表

我正在使用以下代码:

每当我想删除整个数据库并用不同的行重新填充数据时,我都会收到非常严重的错误消息:“无法插入或更新实体,因为'X'关系的主体端已被删除。” 其中 X 是一些 fk 约束..

我想我的问题是更新表 Courses_Specializations 因为这个表只包含外键所以我更新这个表的方法是创建 1 个专业和 1 个课程并使用导航属性将它们相互连接

另一件需要注意的重要事情是,当我执行以下操作时

  1. 干净的数据库
  2. 保存更改
  3. 补充资料
  4. 保存更改

它工作正常..但是当我这样做时

  1. 干净的数据库
  2. 补充资料
  3. 保存更改

它抛出异常

0 投票
1 回答
1467 浏览

asp.net-mvc - ASP.NET Identity 2.0 数据库优先方法:添加新列

我正在尝试将 ASP.NET Identity 2.0 与现有数据库一起使用。我创建了一个 MVC 项目(它使用个人帐户身份验证),然后我注册了一个用途以创建数据库。

然后:

  1. 我为必要的表创建了脚本并将它们添加到我自己的数据库中
  2. 我添加了 ADO.NET 实体数据模型(首先是数据库),其中包括我的表和身份表。
  3. 我运行了应用程序并注册了一个用户,一切都很好。

现在,我需要添加与AspNetUser表的关系。

  1. 我在数据库中添加了具有关系的列 LocationId。
  2. 我在应用程序用户类中添加了以下内容:

    /li>
  3. 然后,我更新了模型并运行了应用程序,当我尝试注册新用户时,出现以下错误:

    AspNet UserLogin: EntityType: EntitySet 'AspNetUserLogins' 基于没有定义键的类型'AspNet UserLogin'。

在这种情况下如何继续使用 DB First Approach?

0 投票
2 回答
1618 浏览

c#-4.0 - 错误:命名空间不能直接包含成员,例如字段 EntityFramework.dll' 找不到

在此处输入图像描述我想add > class > ado.net entity为我的 db 第一个项目创建模型:并且还想通过 asp.netscaffolding 创建 CRUD 操作,但未能使用必要的代码创建模型。因此我未能创建脚手架。在我的模型文件AllahHelp.Context.cs中,没有代码,只有文本“ErrorGeneratingOutput”。

错误一:

命名空间不能直接包含字段或方法等成员 F:\project\WebApplication8\WebApplication8\Models\AllahHelp.Context.cs 1 1 WebApplication8

错误2:

编译转换:找不到元数据文件'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools..\IDE\EntityFramework.dll' F:\project\WebApplication8\WebApplication8\Models\AllahHelp.tt 1 1 Web应用程序8

0 投票
1 回答
676 浏览

entity-framework - db模式的实体框架无法连接到服务器

我正在尝试首先使用 db 通过 db 实例连接,我创建了一个连接

我总是得到一个错误 -

但如果我尝试

我可以连接,也可以从 VS sql server explorer 和 SSMS 连接。