Cal*_*nus 40 .net c# entity-framework self-tracking-entities
我一直在阅读.net中的自跟踪实体以及如何从*.edmx文件生成它们.我正在努力理解的是生成这些实体的原因是什么让你了解基本的EF实体?此外,有些人提到了自我跟踪实体和Silverlight,但为什么要使用这些实体而不是客户端或RIA服务生成的共享类?
自我跟踪实体有什么意义,为什么要使用它们?
Lad*_*nka 41
自跟踪实体(STE)是变更集的实现(变更集的先前.NET实现是DataSet
).STE和其他实体类型(POCO,EntityObject)之间的区别在于,常见实体类型只有在连接到生活时才能跟踪更改ObjectContext
.一旦公共实体被分离,它就会失去任何变更跟踪能力.这正是STE所解决的.即使你拆开它,STE也能跟踪变化ObjectContext
.
STE的常见用法是在断开连接的场景中,例如通过Web服务进行.NET到.NET通信.对Web服务的第一个请求将创建并返回STE(实体在序列化时分离,ObjectContext
仅用于单个调用).客户端将在STE中进行更改,并在另一个Web服务调用中将其传回.服务将能够处理更改,因为它将提供STE内部更改跟踪.
在没有更改跟踪的情况下处理此方案是可能的,但它要复杂得多,尤其是当您使用整个对象图而不是单个实体时 - 您必须手动将从客户端接收的更改合并到数据库中的当前状态.
请注意,STE不适用于可互操作的解决方案,因为它们的功能基于在服务器和客户端之间共享STE代码.
Ada*_*kis 15
主要目的是帮助N层开发.由于它们是自我跟踪的,您可以将它们序列化,例如,WCF服务,然后反序列化它们,它们仍然知道已经进行了哪些更改,并且正在等待数据库.
自我跟踪实体知道如何进行自己的更改跟踪,无论这些更改在哪个层上进行.作为一种体系结构,自我跟踪实体介于DTO和DataSet之间,并包含每种实体的一些好处.
归档时间: |
|
查看次数: |
15890 次 |
最近记录: |