问题标签 [entity-framework-4.1]

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 投票
6 回答
19827 浏览

asp.net-mvc-3 - EF 4.1 - 模型关系

我正在尝试使用 EF 4.1 的 RC 版本创建一个快速的 ASP.NET MVC 3 应用程序。我有两个模型:

尝试插入新 Race 时出现以下错误:

无法确定类型“rcommander.Models.Race”和“rcommander.Models.Address”之间关联的主体端。此关联的主体端必须使用关系流式 API 或数据注释显式配置。

它不应该自动将 RaceId 识别为 Races 表的主键,将 AddressId 识别为 Addresses 表的 FK 吗?我错过了什么吗?

谢谢!

0 投票
1 回答
2220 浏览

entity-framework - 如何告诉 EF / DbSet 附加到 SQL 视图而不尝试创建具有相同名称的表?

我想使用 Code-FirstDropCreateDatabaseAlwaysDropCreateDatabaseIfModelChanges功能,因为我围绕该功能构建了许多集成测试。有没有比创建表、删除表、然后使用 sql 命令创建视图更优雅的附加到 SQL 视图的方法?

[使用VS2010 Professional、ASP.NET 4、MVC3、EF4、SQL Server 2008 R2 Express、Win7]

Person.ID == Worker.ID。他们处于 1 比 0..1 的关系中。总会有一个人;可能没有工人记录。

Signin 表接收来自条形码扫描仪的输入。工人们刷卡登记当天。客户端要求记录Signin,即使扫描时Worker表中没有对应的记录。由于客户的要求,我计划使用我可以控制的 ID 作为主键,并以编程方式或尽可能与视图关联条形码编号。

SigninView 结合了来自 Person、Worker 和 Signin 表的信息,以显示在 ID 被刷卡的网页上。我假设 SQL 服务器视图比我的 C# 关联 3 个表的数据的视图更快。(我觉得我没有时间停下来测试一下)。

所以......我想要做的是附加到视图。我可以使用 DbSet<> 附加到视图,但我也在开发应用程序时使用 CodeFirst 重新创建我的表结构。

现在我有一个问题,其中 Code-First 创建了一个表 SigninView,然后删除它并使用 SqlCommands 创建视图:

0 投票
1 回答
1483 浏览

c# - 如何重写查询表达式以用整数替换枚举?

受到希望能够在 EF 查询中使用枚举的启发,我正在考虑将 ExpressionVisitor 添加到我的存储库中,该存储库将采用传入的标准/规范标准并重写它们以使用相应的持久化 int 属性。

我一直在我的(代码优先)实体中使用以下值后缀模式:

并使用以下命令将其映射到数据库:

在我的存储库中,我有以下方法:

我想在此方法中添加一个方法调用来重写过滤器表达式,将所有对 MemberStatus 属性的引用替换为对 MemberStatusValue 的引用。

我想这将是一个解决方案,涉及类似于在这个 SO post 中看到的内容,但我不确定如何从想法到实现。

如果您可以就添加此功能的潜在性能影响提供任何建议,我们也将不胜感激。

0 投票
1 回答
1303 浏览

entity-framework - EntityFramework CodeFirst FK关联问题

我正在尝试让 CodeFirst 正常工作,但我遇到了外键和相关对象的问题。这可能是由于我不匹配“约定”并且还不了解如何正确覆盖我的设置中的约定。如果可以的话请帮忙。

我现有的数据库中有这两个表:

模型的设置如下:

最后,我的上下文设置如下:

而且,我收到以下错误“执行命令定义时发生错误。有关详细信息,请参阅内部异常”.. InnerExceptin 为:

我尝试了各种 OnModelCreating 咒语,但没有任何成功。很明显,问题在于它不知道如何将“LocationID”FK 正确导航到带有 ID 字段的 Location 类。但我一直无法弄清楚。

不知何故,我认为由于它是“Location”类型,并且 Location 类也独立映射到数据库,并且因为数据库中存在适当的 FK 关系,所以它会“弄清楚”。

任何帮助将不胜感激。

0 投票
1 回答
1443 浏览

.net - 实体框架代码优先自定义连接

我有一个客户表和一个地址表。客户可以有多个地址,但他们也有一个标记为他们的主要地址(如果他们有任何地址)。

在代码中是否有某种方式,我可以在 Customer POCO 中放置一个名为“PrimaryAddress”的字段,并使用诸如 Customers.Include(customer => customer.PrimaryAddress) 之类的内容来获取与客户并且设置了主要位?

我认为下一个最好的事情就是在 SQL 中编写一个自定义连接的视图?

谢谢。

0 投票
1 回答
1718 浏览

asp.net-mvc-3 - 升级到 EF 4.1 后的 System.NullReferenceException

我有一个使用 EF CTP5 的 MVC3 应用程序。升级到 EF 4.1 后,我NullReferenceException从这里被抛出:

我从 NuGet 获得了 EF 4.1 位。

使用自定义初始化程序初始化数据库

异常是从PopulateDatabase()方法中抛出的。

有任何想法吗?

更新:

似乎问题源于实例化第二个 DatabaseContext 以手动重新创建数据库。它必须以某种方式干扰原始上下文。

0 投票
2 回答
7913 浏览

c# - 如何在 Entity Framework 4.1 的 Code-First Fluent API 中以编程方式定义关系

我正在玩新的 EF4.1 独角兽之爱。

我试图了解我可以使用代码优先的不同方式以编程方式定义我在几个简单 POCO 之间的关系。

我如何定义以下 =>

  1. 1Team有 0-many User。(并且 aUser在 1 中Team
  2. 1User有 0-or-1 Foo(但 aFoo没有返回 a 的属性User
  3. 1User有 1UserStuff
0 投票
1 回答
1595 浏览

entity-framework - EF CF 手动配置多对多映射

我有一个现有的数据库。目前我正在尝试首先使用实体​​框架代码将我的新实体对象映射到该数据库。下面是具有朋友集合的用户类。如您所见,这是同一张表的多对多关系。如何将此关系映射到具有列“user_id”和“friend_id”的表“user_friend”。

0 投票
3 回答
2424 浏览

c# - 如何映射具有延迟加载属性的实体(不导致它们加载)?

我在 MVC 项目中使用 EF 4.1 和代码优先,并使用 AutoMapper 将实体映射到视图模型。

在使用代码优先之前,我能够排除导航属性,以防止加载尚未加载的任何内容。我在查询中使用 .Include() 来包含我需要的引用,以避免额外的数据库往返。

但是,在代码优先的情况下,我的实体仅公开一个实体属性(如果有多个,则为 ICollection)。在不触发加载的情况下如何知道是否已经加载?

假设可以做到这一点,有没有办法让它成为 AutoMapper 的默认行为,这样我就不必明确排除每个实体上的成员?

0 投票
1 回答
4808 浏览

.net - EF 4.1,代码优先:有没有一种简单的方法可以删除所有约定?

我们可以通过这种方式删除单个约定:

但我想念类似的东西modelBuilder.Conventions.RemoveAll()。有没有一种简单的方法可以删除所有这些?

(我什至不确定我是否真的想最终删除所有约定。但是随着我不断增长的对象模型,我很难清楚地区分映射到数据库的哪些部分来自约定,以及我确实在 Fluent 中明确配置了哪些部分API。我认为目前我混合了基于纯约定的映射、明确覆盖的约定和明确复制的约定。至少出于学习目的和对映射的清晰理解,能够关闭所有约定会很好。)