问题标签 [self-tracking-entities]

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 投票
3 回答
3379 浏览

wcf - 我怎么知道我应该使用自我跟踪实体还是 DTO/POCO?

关于我们的设计,我可以问自己哪些问题,以确定我们是否应该在应用程序中使用 DTO 或自我跟踪实体?

以下是我知道要考虑的一些事情:

  • 我们有一个带有 WPF/MVVM 客户端、WCF 服务器和 MS SQL 数据库的标准 n 层应用程序。
  • 用户可以定义自己的接口,因此 WCF 服务所需的数据会根据用户为自己定义的接口而变化
  • 模型在客户端和服务器端都用于验证。我们不会直接绑定到 DTO 或 STE
  • 如果需要,某些模型包含从 WCF 服务延迟加载的属性
  • 数据库层向多个服务器/数据库发送垃圾邮件
  • 服务器端的权限检查会影响数据的返回方式。例如,某些数据根据用户的角色被部分或完全屏蔽
  • 我们的资源有限(时间、人力等)

那么,我怎样才能确定什么是适合我们的呢?我以前从未使用过 EF,所以我真的不知道 STE 是否适合我们。

我看到人们建议从 STE 开始,并且只在问题出现时才实施 DTO,但是我们目前已经有了 DTO,并且正在尝试确定使用 STE 是否会让生活更轻松。我们在这个过程中已经足够早了,切换不会花费太长时间,但我不想切换到 STE 只是发现它对我们不起作用并且必须将所有东西都切换回来。

0 投票
2 回答
1266 浏览

asp.net - Entity Framework Trackable 集合可以绑定到 ASP.Net Gridview 吗?

我在 ASP.Net 页面上有一个 GridView。我想将 Gridview 的 DataSource 设置为 Entity Framework 对象的可跟踪集合。我虽然代码应该是这样的:

但这不显示任何数据。

我正在使用自我跟踪实体,而 MyDetailedItems 是另一个表中的行的导航属性。

0 投票
2 回答
510 浏览

silverlight - EF self tracking Silverlight WCf

Hi I have a silverlight4 + .net 4.0 application where i am using self tracking entities. In the application i have a silverlight project which contains the entities generated by EF self tracking template. This project is being shared by the wcf service and the client so that the change tracking works. everything builds fine but when i run my service is get the exception Could not load file or assembly 'System.Runtime.Serialization, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The system cannot find the file specified.

any help is much appretiated

thanks Ben

0 投票
2 回答
2098 浏览

c# - 将实体框架放置在我们的解决方案中的什么位置?

好的,所以我们有一个包含以下项目的解决方案:

  • 商业逻辑
  • 实体
  • 数据访问
  • 实用程序
  • 单元测试
  • 用户界面

这是一个非常大的企业级应用程序。我的问题是,我们将实体框架放在哪里?一方面,EF 似乎是一种数据访问技术,应该进入 DataAccess 项目。但另一方面,它会生成自己的实体,这些实体应该放在我们已经很大的实体项目中。

哪个项目更适合实体框架?

是否可以从 EF 中的持久性逻辑中拆分实体?

0 投票
1 回答
1771 浏览

entity-framework-4 - EF 4 自跟踪实体生成器错误模板不包含对 NeedsHandleCascadeDeleteMethod 的定义

尝试使用 Visual Studio 2010 生成自跟踪实体时,出现以下错误:

编译转换:

“Microsoft.VisualStudio.TextTemplatingFD3088D2F02A7E80E5DF5FEC4C1DAB39.GeneratedTextTransformation.MetadataTools”不包含关于“NeedsHandleCascadeDeleteMethod”的定义和没有扩展方法“NeedsHandleCascadeDeleteMethod”接受型的第一参数“Microsoft.VisualStudio.TextTemplatingFD3088D2F02A7E80E5DF5FEC4C1DAB39.GeneratedTextTransformation.MetadataTools”可以找到(你缺少 using 指令或程序集引用?)

我在其他项目中使用过自跟踪实体功能,之前没有遇到过这个问题。我唯一能想到的就是我已经将 SP1 应用到了 Visual Studio。我需要安装更新的模板还是应该卸载 SP1?

谢谢!

0 投票
1 回答
217 浏览

entity-framework-4 - EF4 STE 访问已删除的实体

如何在自我跟踪实体图中访问已删除的实体?我了解,如果我在集合中包含的对象上使用 MarkAsDeleted,它们将移动到父实体的 ObjectsRemovedFromCollectionProperties,但是如何访问不在集合中的已删除对象?

谢谢雅库布

0 投票
2 回答
547 浏览

c# - 如何处理类库中的 POCO 刷新?

  1. 使用自我跟踪实体模板创建 POCO
  2. 将带有 POCO 的 .tt 文件复制到类库
  3. 向数据库添加新表
  4. 刷新的 edmx 文件
  5. 怎么办?

我真的必须添加代码生成项并将生成的 POCO 再次复制到我的类库吗?

显然,这将成为快速变化的数据模型的巨大障碍。有没有一种自动化的方式来解决这个问题(内置方式)?

0 投票
3 回答
713 浏览

c# - EF 4.0 自我跟踪实体,预期更新被转换为插入

假设以下方法存在于 WCF 服务中。UI 检索到 Status 对象的实例,并使用此方法对服务进行后续调用。它没有像我期望的那样将状态分配给用户,而是尝试插入状态。我究竟做错了什么?

0 投票
1 回答
485 浏览

entity-framework-4 - 使用导致性能问题的自跟踪实体集

我看到了 ADO.Net 团队的这篇文章,在我开始在我的应用程序中使用它之前,它看起来很有前途。我有近 100 个自我跟踪实体的 EF 4.0 模型。在我的项目中包含迭代器后,任何扩展方法“StartTrackingAll”或“StopTrackingAll”都需要 5 秒才能完成。有没有人遇到过同样的问题或任何人知道任何更好的选择。

0 投票
1 回答
420 浏览

entity-framework-4 - EF 4.0 添加关系

嗨,我有一个使用 EF 自我跟踪对象的项目。我正在尝试向对象添加关系。(parentobject.relationshipObject.Add(新的 relationshipObject...))。但它会抛出一个错误:

在 CollectionChanged 或 PropertyChanged 事件期间无法更改 ObservableCollection。

此错误发生在模板创建的代码的#Region "Association Fixup" 中。最初mainobject没有带来任何关系。只有当用户选择项目时,才会更新项目中的关系。我发现如果我从集合中删除 MainObject 并将其与关系一起读取,则不会发生此错误。如果我只更新 mainObject 中的关系对象,当我从客户端添加新的关系对象时会出现此问题,非常感谢任何帮助

--代码顺序如下 1.获取所有父实体。2.当用户选择实体时,获取实体的关系并更新关系实体

parentCol.AsEnumerable.Where(Function(x) x.ID = e.Result.ID).FirstOrDefault().StopTracking() parentCol.AsEnumerable.Where(Function(x) x.ID = e.Result.ID).FirstOrDefault ().relationshipEntity = e.Result.relationshipEntity parentCol.AsEnumerable.Where(Function(x) x.ID = e.Result.ID).FirstOrDefault().StartTracking()

  1. 在关系实体中添加一个新项目

将 newRel 作为新的 relationshipEntity newRel.Ref_parent_Id = parentItem.ID newRel.REF_rel_ID = relItem.Id parentItem.relationshipEntity.Add(newRel) ---> 在这里抛出错误

relationshipEntity 表示父实体和另一个实体之间的关系表(多对多关系)。

谢谢