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

entity-framework - Entity Framework Code First 的 SQL Server Express 连接字符串

我在 Visual Web Developer 2010 Express 中工作,并使用实体框架代码优先 CTP。我可以使用新的 SQL Server CE 执行此操作,但我无法找到与 SQL Server Express 一起使用的连接字符串。

这个使用 SQL Server CE 测试版,工作正常(数据库在模型更改时创建和重新创建)。

这个,我从aspnetdb连接字符串中复制的,

在启动时给出以下消息:

无法完成操作。提供的 SqlConnection 未指定初始目录

那么如何让它与 SQL Server Express 一起工作呢?

0 投票
1 回答
187 浏览

entity-framework-4 - 如何在依赖于服务器状态的 WCF 数据服务对象上创建属性?

我正在尝试创建一个 WCF 数据服务,它返回看起来有点像我的 POCO 的对象;它们的不同之处在于它们具有在调用查询时计算的单个属性。

换句话说,我有一部 POCO 电影。我希望能够查询给我的电影,每个电影都带有一个附加属性“IsAllowedToWatch”。'IsAllowedToWatch' 的值由我的身份验证状态和当前观看该电影的用户数量决定。

我正在使用 Code-First EF4 和 WCF 数据服务。任何人都可以建议这样做的最佳方法吗?

0 投票
1 回答
3746 浏览

sql - 引入 FOREIGN KEY 约束可能会导致循环或多个级联路径?

从 Entity Framework Code First 生成数据库时出现此错误。

我没有看到脚本有任何问题:

每个参考都指向不同的表!

每个表我只能有一个删除级联?

如果我有 3 个表:用户、帖子和投票。

和关系:

Post.AuthorId -> User.Id Votes.PostId -> Post.Id Votes.UserId -> User.Id

Sql 正确生成错误,因为如果我删除帖子,我将有 2 个投票路径:用户 -> 投票和用户 -> 帖子 -> 投票

但是实体框架没有检测到这一点并在删除级联时生成 3 个外键。

0 投票
2 回答
2345 浏览

entity-framework-4 - 如何首先在实体框架代码中指定复合键

我有一个关于在 Northwind 数据库中设置和之间[Order Details]的映射的快速问题。[Products][Orders]

[Order Details]没有主键,看起来像这样

所以我的问题是我如何(并且我可以)设置我的OrderDetails班级以这样的方式工作?

我的数据上下文看起来像这样

还有我的OrderDetailsConfiguration(空的,因为我不知道我在做什么)

任何提示或想法都会很棒。

0 投票
2 回答
1547 浏览

asp.net-mvc-2 - 部署 SQLCE.EntityFramework 4.0.8435.1

我在一个我一直在工作的项目中应用了 SQLCE。它在 Visual Studio 中运行良好,当我在本地运行时 (http://localhost:####) 运行完美。但是当我在远程主机上发布它时,我收到“黄屏死机”以下错误消息:

未能找到或加载已注册的 .Net Framework 数据提供程序。

我的 Web.Config 和引用都可以(正如我所说的它在 localhost 上工作正常)没有必要对其进行修改。sdf 文件部署在正确的路径中。

什么不见​​了?

0 投票
4 回答
31382 浏览

entity-framework - 实体框架代码优先 - DbContext 上没有 Detach() 方法

我想知道为什么 DbContext 对象上没有像 ObjectContext 那样的 Detach 方法。我只能假设这种遗漏是故意的,但我很难弄清楚为什么。我需要能够分离和重新附加实体(例如,用于将缓存放入 ASP.NET 项目中)。但是,由于我无法分离实体,所以当我尝试附加与先前上下文关联的实体时,我得到“一个实体对象不能被多个 IEntityChangeTracker 实例引用”异常。

这里有什么指导?我错过了什么吗?

0 投票
2 回答
3148 浏览

c# - 实体框架代码优先多对多创建重复行

我的问题原来是有两个上下文的。我对我的代码进行了一些修改,使其只有一个上下文,我的问题就消失了。

我有一个用户,它有一个 UserContact 列表,它本身有一个 ContactOption。它是一个相当简单的一对多,多对一,中间有 UserContact 表。

如果我将用户从数据库中拉出并创建一个新的 UserContact,但将 ContactOption 设置为现有项目(我已从数据库中拉出),当我 SaveChanges 时,实体框架会在数据库中创建一个新的 ContactOption本质上是我添加到 UserContact 的副本(除了它获得了一个新的 id)。

我已经为此奋斗了几个小时,但无法弄清楚。有任何想法吗?

我正在为我的数据库查询使用存储库模式,但我确保它们共享相同的上下文。

我用这个把用户从数据库中拉出来:

并通过以下方式拉出联系选项:

我将 ContactOption 添加到 UserContact 中,如下所示:

我的模型如下所示:

0 投票
3 回答
1377 浏览

entity-framework - 实体框架添加现有项导致克隆

我将实体框架 v4 用于一个小项目。通常我使用NHibernate。我的问题是我不小心添加了一个已经持久化到数据库上下文集合中的对象的代码,当我执行 SaveChanges() 时,EF 复制了该对象,并为其提供了一个新的主键。

虽然这很有用,但这不是我想要的。有没有办法关闭该功能,而是抛出异常?

更新:现在包括代码

0 投票
1 回答
851 浏览

database-design - EF4 中使用 CTP4 Code First 作为 TPH 鉴别器的外键

总结一下我的模型:

  • 执照和证书是资格的孩子
  • 一个资格只有一个职业
  • 专业是许可类型(类型 1)或认证类型(类型 2)

要求:表示业务实体之间的关系,而不在数据库模式中引入冗余。资格类型(执照/证书)必须与专业类型相匹配。

这是我目前的简化模型——我在下面解释了为什么这不起作用:

这是简化的模型构建器:

这不起作用的原因是 EF4不允许FK 属性兼作 TPH 鉴别器。这意味着 Type 不能既是鉴别符又是外键字段。尝试在 HasConstraint 方法中为每个实体硬编码职业类型也不起作用——这会产生异常。

一个可能的解决方案是向 Profession 添加一个代理键,去掉 Qualification 中的 Type 属性并将其替换为 ProfessionId FK。这将消除冗余问题,但也会破坏 TPH。实际上,鉴别器从资格转移到职业。这里的问题是我还没有找到映射许可证和证书对象的方法。也许我可以映射到视图?但是我如何在 Code First 中做到这一点?

所以,现在我面临着许多令人不快的选择。有什么建议么?

0 投票
3 回答
29411 浏览

entity-framework - 为什么我的 DbContext DbSet 为空?

我创建了一个新的 Entity Frameworks Code First 应用程序,并且 DbSet (People) 返回 null。

web.config : 连接字符串

现在当我打电话

_repo.People将为空

我错过了什么?

  • 引用了 Microsoft.Data.Entity.Ctp.dll
  • 我尝试过使用和不使用数据库初始化程序。