问题标签 [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.
deployment - Code First 模型和新版本软件的部署
我目前正在查看实体框架并使用 Code First 示例。到目前为止,我可以看到框架无法轻松处理模型更改:每当我想向类/表添加另一个字段时,框架都会删除整个数据库并从头开始创建它。
我在 (N)Hibernate 中看到的类似行为。(我可能错了,很久以前)
没关系,只要我在做教程。当涉及到实际项目时,您无法承受每次需要表中的新字段时都删除数据库。
想象一下场景,您正在与许多客户一起开展一个项目。每个客户都有自己的数据库。在 1.0.1 版中,我需要在其中一个表中添加一个新字段。如果我在我的开发环境中删除数据库 - 没什么大不了的。(不过,每次删除数据库时,我都需要运行一个脚本来填充测试数据,有时甚至这也不可行)
但是当我需要部署这个新版本时我该怎么办?制作一个 SQL 脚本来更新客户端的数据库而不删除它们?然后部署二进制文件?
但这比将数据库模块与代码更改分开有什么好处呢?
entity-framework - 有没有办法先更改数据库中的连接字符串?
我有几个数据库,它们的架构是相同的。当我使用数据库优先时,连接字符串是在我创建 edmx 文件时指定的。我想知道,有没有办法改变连接字符串?这是,所以我可以选择操作哪个数据库。
inheritance - EF:选择子类的所有实体(继承)
我正在使用数据库优先方法和 DbContext。我的数据模型中有几个继承结构 (TPH)。但是 DbContext 只为基类创建一个 DbSet,而没有为子类创建一个 DbSet。我应该如何检索指定子类的所有实体?
我无法根据映射条件编写查询,因为我必须从数据模型中删除这些字段。
我可以简单地向实体类(部分类)添加一个新的 DbSet 吗?
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 的位置?
请帮忙~~
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
也可以添加到此方法中。当这是一个自动生成的类时,我该怎么做?
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 的方式:
我在 Global.asax 中添加了以下内容
/li>然后配置一个objectcontext,
/li>
如果我执行此操作,运行“context.MyEntities.ToList()”时会发生以下异常
[System.Data.EntityCommandCompliationException]
内部异常中的消息说:EntityClient 不能用于从存储命令树创建命令定义。
我配置错了吗?有什么帮助吗?
谢谢,
stored-procedures - 存储过程未出现在 EF 代码中
我首先使用 EF 数据库,并向数据库添加了一个存储过程。
当我Update model from database
在 edmx 文件上运行时,它获取了存储过程,我选择了它作为我想要包含的项目。
我有一个文件,其中包含一个名为Model<projectname>.Context.cs
的类Entities
。这是一个自动生成的类,它包含系统中其他存储过程的方法。我的新存储过程在这个类中没有对应的方法,运行Run custom tool
也无济于事。
还有什么我需要做的,我没有做的吗?
谢谢,
萨钦
stored-procedures - 添加函数导入不适用于函数
我在我的数据库中添加了一个函数,我希望它可以在我的代码中调用。对于存储过程,我右键单击 SP 并在模型浏览器中选择添加函数导入来实现这一点,但此选项不适用于我的函数。我该怎么做才能导入该功能?
.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?
c# - 枚举 EF 5.0 - 数据库优先
如果我使用 Database First,我如何才能使我的上下文对象使用 Entity Framework 5.0 中的 Enum 功能。