问题标签 [database-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 投票
1 回答
2007 浏览

c# - 如何在 MVC 3 应用程序中将代码优先的存储库转换为数据库优先

我对 MVC 3 很陌生,但对软件不熟悉,所以当我决定在 MVC 3 中启动应用程序时,我想让它可测试。所以我找到了这篇关于如何实现存储库模式的好文章。

在这篇文章的最后,他们提出了一个非常好的“通用存储库”,您可以将其重用于大多数对象,因为在正常情况下,我们都希望能够删除、创建、更新等。

一切工作正常(读取编译),直到我意识到我指向的是不久前使用“代码优先”方法创建的旧数据库上下文。从那时起,我决定采用“数据库优先”的方法,但我忘了删除这个旧上下文。所以我只是在存储库中更改上下文的名称,希望一切正常,但它不起作用。我的旧上下文是 DBContext,但我的新上下文似乎是 ObjectContext。我不确定2之间有什么区别。

我的通用存储库中的代码如下,关于 Set 和 Entry 方法的这 3 行有错误:

这是存储库的完整代码

如果有人可以帮助我吗?

0 投票
1 回答
373 浏览

database - 修改数据时出现 DbUpdateConcurrencyException

我现在一直在四处寻找。我尝试了几种解决方案,包括捕获 OptimisticConcurrency 并添加:

“@Html.HiddenFor(model => model.OrganizationID)”

到我的删除页面。我的索引(列表)、创建和编辑页面就像一个魅力。但是,当我去删除一行时,它给了我以下错误:

DbUpdateConcurrencyException
存储更新、插入或删除语句影响了意外数量的行 (0)。自加载实体后,实体可能已被修改或删除。刷新 ObjectStateManager 条目。

我按照教程构建了 Database First 应用程序。目前,我只是从我的组织表中引入数据,直到我可以让它顺利运行。我的组织模型如下所示(从“添加代码生成项”自动生成):

这是我的组织控制器中的 Delete ActionResult:

在我的索引页面上,它声明了主键:

@Html.ActionLink("Delete", "Delete", new { id=item.OrganizationID })

出于好奇,我决定尝试添加

“@Html.HiddenFor(model => model.OrganizationID)”

到底部,在 BeginForm 下,而不是在字段集和图例标签下的页面顶部:

低头看——它奏效了。我还想发这个!也许其他人会找到它,它会帮助他们。虽然我不知道 100% 为什么会这样——有人可以解释一下吗?

0 投票
2 回答
2659 浏览

entity-framework - 将 EF 5 数据库的第一个 Poco 类移动到单独的项目 vs2012 EF5

关于如何将model.tt(包含 POCO 实体类)文件移动到 Vs2010 中的单独项目的问题,我已经看到了几个答案

这似乎在 EF5 中不起作用,原因似乎是该model.tt文件是 edmx 文件的子项。

如何在 Entity Framework 5 / VS 2012 中实现相同的目标?

0 投票
2 回答
1249 浏览

visual-studio-2012 - 在 Visual Studio 2012 中添加外键

我正在 Visual Studio 2012 中开发我的第一个 MVC 项目。因为我更喜欢“数据库优先”的方法,所以我开始设计数据库。问题是:为什么当我想添加外键时,我禁用了所有键属性以进行编辑(左):

在此处输入图像描述

我只能直接修改脚本(对),但这真的是唯一的解决方案吗?还是我做错了什么?

谢谢你的帮助。

0 投票
1 回答
73 浏览

asp.net - 获取 EF 4 数据库第一个对象属性注释

我们使用 EF4 数据库优先方法来创建在上下文类中找到的所有实体。我现在尝试将显示名称属性添加到对象的属性之一,如下所示:

然后在一个测试页面上,使用反射,我试图得到一个输出,上面写着“Worked By”,如下所示:

但这只是给Object Reference not set to an instance of an object. 或者,如果我只是Response.Write属性,它会写出“WorkedById”而不是“Worked By”。

任何帮助,将不胜感激。

0 投票
3 回答
2194 浏览

entity-framework - 连接字符串 - MVC 实体框架 - 数据库优先

谁能建议我如何以编程方式切换调试和实时连接字符串?

我已经看到其他人从控制器将 EntityConnection 传递给构造函数,如下所示:

但它仍然需要手动更改它?有没有办法使用

System.Net.Dns.GetHostName()或类似的自动切换?

谢谢

0 投票
1 回答
672 浏览

asp.net-mvc - Asp.NET MVC 4 Entity Framework 5 - 找不到请求的 .NET Framework 数据提供程序

我正在开发 Asp.NET MVC 4 Web 应用程序。我正在尝试通过实体框架客户端连接到我的数据库“测试”。我已将 EntityFramework 引用添加到项目中,并且正在使用 MSSQL。由于未知原因,我收到以下错误: 无法找到请求的 .Net Framework 数据提供程序。它可能没有安装。

有没有人有类似的问题?

web.config 中的设置是:

InitializeSimpleMembershipAttribute类中的这一行发生错误:

这是一个堆栈跟踪:

0 投票
1 回答
2193 浏览

c# - 在 ASP.NET MVC 4 中更新相关数据

我有 3 个与外键 Student、Loan 和 Book 相关的表,当我创建一个新学生时,我可以将它与 book 表 Book 相关联,并将其保存在表 Loan 中,但是如果我在现有学生中进行编辑,则更改不会保存在 Student 中桌子。

StudentController.cs 我

如果我将代码预先保存在 Loan 中,在这种情况下我会收到错误消息,说“可空对象必须有一个值”。

StudentController.cs II

0 投票
1 回答
2267 浏览

asp.net-mvc-4 - 使用 MVC4 Database-first,如何使用复合主键注释模型?

我是 MS 的 MVC4 的新手,我得到了一个数据库,我必须为其构建一个 CRUD 前端。这些表都具有 [TableID, TableName, EffectiveDate] 形式的复合主键。我无法更改数据库设计。我使用数据库优先技术和EF 5.x DbContext generator for C#工具来创建模型,但生成的模型文件不包含复合键的注释。这是 Department 表的示例,主键 = [DeptID, DeptName, EffDate]。

我打赌钥匙应该是这样的:

我什至需要注释主要关键组件吗?如果是这样,我应该将注释添加到生成的模型文件中吗?(显然,重新生成文件会删除我手动所做的任何更改)。有没有办法告诉 MVC4 / Visual Studio 生成带有正确注释的文件?

0 投票
1 回答
1069 浏览

entity-framework - 实体框架数据库优先 - 关系

我想我已经了解 CodeFirst。现在我知道数据库优先 EF 设计是针对现有数据库的,但是如果我要快速进入并在 Management Studio 中创建一个新数据库并创建一些表,那么在 Management Studio 中为表创建关系是否正常? edmx 设计器,我在 edmx 中尝试过,但在调试时出错。这里的最佳实践是什么?如果我要在设计器中创建表之间的关联,正确的步骤是什么?管理工作室中的数据库如何知道要更新?任何提示/建议表示赞赏。

在此处输入图像描述