问题标签 [entity-framework-ctp5]

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 投票
2 回答
696 浏览

entity-framework - EntityFramework CTP5 变更跟踪

我正在尝试使用 CTP5 DBContext 重现与 EntityObject 相同的行为以进行更改跟踪。考虑电影和导演表。关系是一部电影只有一位导演,每位导演有多部电影。

如果我使用 EntityObject 运行它,则此代码将在跟踪更改时创建一个新的导演“dir1”。如果我使用 CTP 5 DbContext 生成器运行此代码,则不会创建新的导演“dir1”。我在 Movie 和 Director 对象中将属性更改为虚拟。下面是代码。

我有 3 个问题。

  • 我在这里错过了什么吗?即使我为每个属性都保留了“虚拟”,但对象并没有被跟踪。为什么?
  • 我是否必须像在 EF4 POCO 中那样编写“关联修复”逻辑?
  • 如果是这样,为什么在 DbContext T4 生成器中删除了关联修复代码?
0 投票
2 回答
1536 浏览

entity-framework - 使用实体框架保存问题(需要概念帮助)

问题摘要:我有一个 Master 和 Detail 实体。当我初始化一个 Master (myMaster) 时,它会创建一个 Details (myMaster.Detail) 实例,并且在添加 myMaster 时两者似乎都保留在数据库中。但是,当我重新加载上下文并访问 myMasterReloaded.detail 时,它的属性没有初始化。但是,如果我直接从上下文中提取细节,那么这似乎神奇地初始化了 myMasterReloaded.detail。我用下面的最小单元测试示例对此进行了提炼。这是一个“功能”还是我错过了一些重要的概念细节?

(这是更复杂实体集的症结所在。我只是将其简化为最简单的情况,我不能简单地用复杂类型替换细节)。

干杯,罗伯

0 投票
3 回答
1457 浏览

entity-framework - EntityFramework CTP5 DbContext T4 模板“虚拟”关键字

CTP5 附带的 DbContext T4 模板没有关联修复,并且并非所有属性都标记为虚拟。这是否意味着它在与上下文断开连接时不支持 ChangeTracking?首先,即使被 Context 跟踪(通过动态代理),它是否支持 ChangeTracking?我看到更改跟踪的要求是所有属性都应标记为虚拟。

与 EF4 POCO 生成器相比,我们是否失去了使用 DbContext 生成器的任何功能?

非常感谢任何回应。

0 投票
2 回答
118 浏览

entity-framework-4 - 实体框架 CTP5

我正在启动一个相当复杂的网络应用程序,并且真的想使用 EF CTP5,但如果他们在发布之前进行任何重大更改,我不想在这里开枪打死自己。

我知道有很多人在使用它,但想知道目前是否有人在开发生产应用程序中使用它?

0 投票
1 回答
1667 浏览

entity-framework-4 - Entity Framework 4 CTP 5 自引用多对多

我的数据库中有以下场景。这是研究的记录,这些研究有其他研究作为先决条件。在我的数据库设计中,它看起来像这样:

自引用多对多

我的代码看起来像这样:

我不太擅长 EF 语法,但从我在谷歌上搜索的结果来看,这似乎应该可以工作。相反,我得到Sequence contains more than one matching element.

我发现了这一点,但由于实体正在引用自身,我无法仅在其中一个表中重命名关键字段:http: //social.msdn.microsoft.com/Forums/eu/adonetefx/thread/745a2c4f- cb66-41ad-9524-15aa198c40c7

有人帮我解决这个问题吗?

编辑

这是异常的完整堆栈跟踪:

它在一行 LINQ 上执行:var x = from s in db.Studies select s;

0 投票
1 回答
791 浏览

entity-framework-4 - EF 4 CTP 5 保存多对多导航属性

我正在使用 EF4 CTP5 并且无法将记录保存回数据库。我有 Contact 和 ContactType 实体。正如帖子标题所述,我在表格之间设置了多对多导航属性。

问题在于验证 ContactType 值。ModelState.IsValid 为 false,因为它无法将从表单传回的值(ContactType id 的字符串数组转换为 ContactType 对象。

POCO的

控制器

看法

模型状态错误

所以看起来很清楚问题是什么,但我似乎找不到解决方案。我尝试手动将 ContactType id 转换为 ContactType 对象,并将它们添加到传递给 Edit 函数的 Contact 对象(称为“联系人”):

但错误仍然存​​在。我也试过打电话

但这并没有奏效。我还手动为不会验证的值设置 ValueProviderResult,使用

这也没有奏效。我觉得我在这里缺少一些基本的东西。有任何想法吗?

谢谢,史蒂夫

0 投票
2 回答
1578 浏览

asp.net-mvc - 在 ASP.NET MVC 中使用外键保存实体

我需要一些帮助来做一些我认为很简单的事情。我正在使用带有 CodeFirst (CTP5) 的 ASP.net MVC 3

我有两个实体:公司和位置。一家公司可以有很多地点。课程如下(去除所有不必要的信息)

现在在我的控制器中,我只允许在公司的上下文中创建位置,因此始终传入公司 ID(在视图中,我在只读字段中显示公司的名称,但不允许用户更改/编辑它。

现在,每当我尝试创建新位置时,ModelState.IsValid 始终为 false,因为未提供 location.Company.Name 并且是 Company 的必填字段。我从不尝试在这里创建一家新公司,我只是尝试创建一个引用正确公司的位置。我不想将 Name 属性添加到视图中只是为了让 ModelState 进行验证。这怎么能轻松完成?我应该传递与视图不同的东西吗?或视图?

0 投票
3 回答
19004 浏览

entity-framework - 使用 Entity Framework Code First CTP5,我如何创建一个主键列,它是 INT,而不是标识列

使用 Entity Framework Code First CTP5,我如何创建一个主键列,它是 INT,而不是标识列

最好不要使用属性。

0 投票
1 回答
1998 浏览

code-first - 实体框架的 DbModel:如何使用连接表映射一对多关系?

我正在尝试通过 DbModel 映射数据库中存在的这种关系。

在这个模型上

我们正在使用这样的东西来做映射

但它不起作用:(

此场景由 EDML 文件完美管理,因此问题仅与映射有关。

0 投票
1 回答
728 浏览

entity-framework - 实体框架 ctp5 获取未代理的实体

EF CTP 5. 我有一个实例,我想在其中获取未代理的实体。我似乎找不到办法做到这一点。我不想一起禁用代理创建,只需要它来进行这个查询。任何人都可以帮忙吗?

这是一个简单的例子: