问题标签 [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 回答
422 浏览

deployment - Code First 模型和新版本软件的部署

我目前正在查看实体框架并使用 Code First 示例。到目前为止,我可以看到框架无法轻松处理模型更改:每当我想向类/表添加另一个字段时,框架都会删除整个数据库并从头开始创建它。

我在 (N)Hibernate 中看到的类似行为。(我可能错了,很久以前)

没关系,只要我在做教程。当涉及到实际项目时,您无法承受每次需要表中的新字段时都删除数据库。

想象一下场景,您正在与许多客户一起开展一个项目。每个客户都有自己的数据库。在 1.0.1 版中,我需要在其中一个表中添加一个新字段。如果我在我的开发环境中删除数据库 - 没什么大不了的。(不过,每次删除数据库时,我都需要运行一个脚本来填充测试数据,有时甚至这也不可行)

但是当我需要部署这个新版本时我该怎么办?制作一个 SQL 脚本来更新客户端的数据库而不删除它们?然后部署二进制文件?

但这比将数据库模块与代码更改分开有什么好处呢?

0 投票
3 回答
26432 浏览

entity-framework - 有没有办法先更改数据库中的连接字符串?

我有几个数据库,它们的架构是相同的。当我使用数据库优先时,连接字符串是在我创建 edmx 文件时指定的。我想知道,有没有办法改变连接字符串?这是,所以我可以选择操作哪个数据库。

0 投票
1 回答
1323 浏览

inheritance - EF:选择子类的所有实体(继承)

我正在使用数据库优先方法和 DbContext。我的数据模型中有几个继承结构 (TPH)。但是 DbContext 只为基类创建一个 DbSet,而没有为子类创建一个 DbSet。我应该如何检索指定子类的所有实体?

我无法根据映射条件编写查询,因为我必须从数据模型中删除这些字段。

我可以简单地向实体类(部分类)添加一个新的 DbSet 吗?

0 投票
2 回答
10201 浏览

entity-framework - 未看到 app.config/web.config 中的实体框架 DbContext 连接字符串

因此,我按照 ADO.NET 团队博客中的说明尝试制作了一个小型测试项目。我已经仔细检查了一切。它似乎不起作用,并一直说连接字符串丢失。

http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx

步。1 构建此 UserModels.dll。在dll,App.Config文件中,edmx生成了这个连接字符串:(制作的时候点击'test'按钮,连接成功,生成了'UserDatabase'所有表的edmx图)

Step 2. 然后我做了一个测试项目:

---------这里的问题-----

步骤 3. 运行测试。然后我得到一个像这样的错误 InvalidOperationException:

似乎 DbContext 不知道从 App.Config 中获取 connectionStrings 的位置?

请帮忙~~

0 投票
1 回答
165 浏览

c#-4.0 - 更新实体框架中的方法

我是 Entity Framework 的新手,并且正在使用 Database First。我继承了一个正在进行更改的项目。我有一个名为 Bid 的表,我在其中添加了 column Auciton_Status_Id。然后我通过打开它并选择从数据库中更新模型来更新.edmx文件(无论是什么)。我在另一个项目中有一个.tt文件(无论是什么),我必须通过右键单击它选择运行自定义工具来手动更新它。问题是与 .edmx 文件在同一个项目中的.tt文件具有关联的 .cs 文件(带有带有签名的类public partial class Entities : DbContext)(无论 aDBContext是什么),并且它有一个名为

问题是我希望我的新列Auction_Status_Id也可以添加到此方法中。当这是一个自动生成的类时,我该怎么做?

0 投票
1 回答
1250 浏览

entity-framework - 如何将 mvc-mini-profiler 用于数据库优先实体框架?

我正在尝试将 mvc-mini-profiler 用于 db-first EF,但它无法正常工作。

(请注意,我使用的是 objectcontext,而不是 dbcontext)

这是我尝试过的stackoverflows列表:

版本:

  • 实体框架:4.3.1
  • 迷你分析器:2.0.2
  • MiniProfiler.ef:2.0.3

这就是我设置 miniprofiler 的方式:

  1. 我在 Global.asax 中添加了以下内容

    /li>
  2. 然后配置一个objectcontext,

    /li>

如果我执行此操作,运行“context.MyEntities.ToList()”时会发生以下异常

[System.Data.EntityCommandCompliationException]

内部异常中的消息说:EntityClient 不能用于从存储命令树创建命令定义。

我配置错了吗?有什么帮助吗?

谢谢,

0 投票
2 回答
2859 浏览

stored-procedures - 存储过程未出现在 EF 代码中

我首先使用 EF 数据库,并向数据库添加了一个存储过程。

当我Update model from database在 edmx 文件上运行时,它获取了存储过程,我选择了它作为我想要包含的项目。

我有一个文件,其中包含一个名为Model<projectname>.Context.cs的类Entities。这是一个自动生成的类,它包含系统中其他存储过程的方法。我的新存储过程在这个类中没有对应的方法,运行Run custom tool也无济于事。

还有什么我需要做的,我没有做的吗?

谢谢,

萨钦

0 投票
1 回答
5194 浏览

stored-procedures - 添加函数导入不适用于函数

我在我的数据库中添加了一个函数,我希望它可以在我的代码中调用。对于存储过程,我右键单击 SP 并在模型浏览器中选择添加函数导入来实现这一点,但此选项不适用于我的函数。我该怎么做才能导入该功能?

0 投票
2 回答
4847 浏览

.net - 在实体框架中表示没有键的视图

我正在使用使用 Devart Entity Developer 生成的模型(.edml 文件,我理解它与 .edmx 最相似)来生成实体类,其关系在 DbContext 类中初始化。数据库架构没有为 View1 指定任何 PK,并且所有列都可以为空。但是代码生成假定对于缺少主键的视图,所有列都是键。即, .ssdl 具有 Key 元素下的所有列,并且 DbContext 具有在 all 上指定的 .IsRequired() ,如下所示:

ssdl摘录:

来自 DbContext:

这会导致 NullReferenceException,当查询将返回具有空值的 PK 列之一的行时。

有没有办法在 EF 中表示视图而不指定键或更改数据库架构?我发现了这个:http ://elegantcode.com/2012/03/15/querying-entityframework-views-without-a-key/

这是首选的解决方案吗?我想我也可以使用 DefiningQuery,但这似乎重复了用于生成视图的 sql?

0 投票
1 回答
6915 浏览

c# - 枚举 EF 5.0 - 数据库优先

如果我使用 Database First,我如何才能使我的上下文对象使用 Entity Framework 5.0 中的 Enum 功能。