问题标签 [ef4-code-only]

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 投票
4 回答
828 浏览

asp.net-mvc - EF4, MVC 3, Azure and Code First or Traditional

I am planning to build a web application using ASP MVC3 that runs on Azure with a SQL Azure back end. I would like to use the Microsoft stack and have no plans to ever change to another stack. I am looking into the use of WCF and WF but that would be in the future.

I looked at the traditional and Code First approach to using Entity Framework but I can't see if there is any advantage in using one or the other approach. Sure they each have advantages but for me I don't care if my classes do inherit from EF classes. All I want is to find the most efficient solution.

Can anyone out there give me some advice as to which approach might be the best.

thanks very much

Richard

0 投票
2 回答
6372 浏览

.net - 使用结构代替 EF4 属性类型的原语

我有一个包含 int 位掩码的 EF4 实体(代码优先)。我创建了一个 Bitmask 结构,以便更轻松地使用位掩码(提供 bool 属性来访问位)。位掩码结构包括重载的隐式运算符,用于与 int 相互转换。

我尝试将属性类型设置为位掩码结构,但值返回为 0。我知道数据库中的值有一个值,并且位掩码在我的单元测试中有效。我将 HasColumnType 设置为“INT”。

该物业...

从上下文对象...

这可能吗?如果是这样,我需要做什么才能让它工作?

0 投票
1 回答
436 浏览

odata - WCF 数据服务和 EF4 CTP5,如何为查询配置默认的急切加载模式?

项目:通过 OData(Wcf 数据服务)公开由代码优先方法配置的实体框架 ObjectContext。

一切都适用于简单的查询和 CUD 操作。但是,我看不到如何配置默认模式加载(服务器端)。

IE:如果我的实体 Customer 具有一组地址或与名为 Manager 的实体的一对一关系,我如何配置我的 ObjectContext 以便对客户的每个查询都会自动加载客户实体的所有地址和经理?

我知道在客户端,调用者可以使用query().Expand("path")来预先加载数据。但是,我想在服务器端指定它,以便客户实体上的所有查询都将按原样.Include("Addresses").Include("Manager")默认配置?

任何想法?

我们能想到的唯一“黑客”是HTTPModule拦截GET请求并向?expand=XXXURL 添加一些内容。如果我们找不到更好的东西,这将是我最后的解决方案......

谢谢你的帮助!

0 投票
1 回答
2628 浏览

entity-framework - EF4 CTP5,将不同实体映射到同一个(现有)表

通过代码优先的方法(但使用现有的数据库模式),我们试图将 2 个不同的实体(客户和资源)映射到同一个表。两个实体具有相同的键和映射。

但是,在运行应用程序时,我们会遇到一个运行时错误,告诉我们这条神秘消息:

例子:

上面的代码类似于我们的客户/资源代码(但解释更简单!)。但是,得到相同的错误消息,告诉我们 EntityA 和 EntityB 不能映射到同一个表,因为它们的主键名称不匹配。

知道我们的映射有什么问题吗?知道我们如何将不同的实体放到同一个表中吗?

谢谢你的帮助

0 投票
1 回答
200 浏览

c# - 多对多持有数据时的实体框架

我正在使用实体框架 CTP5。

我有这样的架构:

  • 一个组包含许多文本描述。
  • 一个文本描述有很多文本。
  • 一种语言有很多文本。

所以有4张桌子。 分组一对多描述多对多文本多对一语言

我的模型

所以我有一个多对多的关系,该关系也包含数据。

Text 和 TextDescription 的定义(因为我们可以在 Id 上查询 Group 和 Languages 我没有在这里添加它们)

添加新语言或插入新文本时……多对多关系不会插入到数据库中。(认为​​这将是一个坏主意,所以最后,如果那是唯一的解决方案,我可以做到)

那么,当我需要从数据库中获取特定组的所有文本时,如何以一种智能的方式处理这个问题,但如果有该语言的翻译,也可以获取翻译。

我无法从翻译对象开始,因为它可能不存在。如果我开始从 Text 实体查询......我如何只选择一种语言而不首先获取所有语言。

我在这里迷路了...有什么聪明的方法...所以我不必查询数据库中的所有文本...然后查询每个项目...看看是否有翻译?或者只是做一个新的空的。

在 SQL 中,我会这样做:

即使现在没有记录,上面的 SQL 也会给我元素,我得到这些值的 NULL。然后我可以处理我的代码并避免延迟加载。

但是我可以在实体框架中获得相同的行为吗?我可以看到 EF4 进行映射可能会出现一些问题......因为我要从 TextDescriptions 到 Texts ......并且 TextDescriptions 有一个文本列表......但是在这里......我只想要 1或 NULL,或只是尚未添加到数据库中的新实体。

期待一些有趣的答案。

mvh

0 投票
3 回答
2836 浏览

entity-framework-4 - 如何首先在 EF4 代码中将表拆分为多种类型?

我正在使用带有 EF4、CTP5 的代码优先 POCO。我有一张桌子,里面有很多列(超过 100 列)。我想将表拆分为多种类型(又名“表拆分”),这样我就不必每次需要一些基本信息时都获取所有数据。

我似乎无法使用 Google 找到任何关于此的文档。我找到了对“表拆分”概念的引用,并且我还看到了如何使用 EDMX 文件进行操作,但没有代码优先的示例。

我希望它就像定义另一个实体类型并将它们关联起来一样简单,就像你对任何其他导航属性一样......

我这样称呼它...

不幸的是,这似乎不起作用。执行此操作时出现以下错误...

删除 User.Details 属性会使错误消失,但是我无法使用 EF4 的漂亮导航功能。

0 投票
1 回答
258 浏览

linq - 如何在 LINQ Entity Framework 4 中编写此 SQL

中心表有一个 PersonID 和 EffectiveDate,多条记录具有相同的 PersonID,但不同的 EffectiveDates,我试图为每个 PersonID 返回 1 个最新记录

理想情况下,我想在 linq 中将其表示为 IQueryable,以便我可以使用它来构建更大的查询。

0 投票
1 回答
692 浏览

asp.net-mvc - MVC与EF4 CTP模型绑定与保存分层模型

在搜索 Stack Overflow 和 Google 时,我无法找到明确的答案,希望有人能指出我正确的方向。

我的情况 我希望能够使用单个编辑表单(在单个视图中)使用 ASP.NET MVC 3 和 Entity Framework 4 CTP(代码优先)更新 3 级深层次实体 - 该模型由服务,可以有许多服务选项,而服务选项又可以有许多库存项目。

我期待能够使用 MVC 默认模型绑定器(通过 TryUpdateModel)来:

  1. 更新现有的“服务”记录
  2. 根据发布的值添加/更新/删除“服务选项”记录(附加到服务)
  3. 根据发布的值添加/更新/删除“库存”记录(附加到每个服务选项)

我的模特

理想控制器方法:

有没有办法实现这个乌托邦式的梦想,还是我找错了树?我愿意使用另一种技术(例如普通的 EF4、Automapper 等)

提前致谢!

0 投票
1 回答
1807 浏览

entity-framework-4 - EF4 CTP5 - HasColumnType 不起作用

我想将我的字符串列之一的默认 nvarchar(4000) 覆盖为 SQL Express 中的文本数据类型。我使用此代码。

但是列类型仍然是 nvarchar?

我也在这里问http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/a1d84ea9-2f8e-42f0-bb83-ac9f68805d6d?prof=required

0 投票
3 回答
5632 浏览

c# - 实体框架 4:代码优先 - 在另一个模式中创建数据库?MapSingleType?

我有一个数据库,我正在使用两种不同的模式。模式就像命名空间(如果我错了,请纠正我)。这样,我有一个数据库和两个模式,因此一个模式中的表可以与另一个模式中的表命名相同,因为它们位于不同的模式中。

如何让 EF 代码首先与不同的架构而不是默认架构交谈?

它与 MapSingleType 和覆盖方法有关还是我可以做其他事情?