什么是最好的POCO状态跟踪策略? (EF)

时间:2010-11-15 22:52:50

标签: entity-framework entity-framework-4 poco wcf-ria-services

所以我正在阅读有关实体框架的内容,根据我的敏捷开发方案,我决定使用POCO对象。

但现在我有一些额外的问题,我不知道如何逃脱。

我正在使用RIA服务和Silverlight,所以当我要保存服务器端的对象时,我必须将对象附加到ObjectContext。问题是我必须将ObjectState更改为已添加或已修改。

所以我的问题是什么是真正了解要改变它的状态的最佳方法。我在Julia Lerman的书中看到她在她的POCO对象中使用State属性,并且在将对象发送到服务器之前,她会在客户端管理该状态。然后,该状态用于在附加后更改真实的EntitySate。

我还看过其他示例,其中Insert实现检查实体的Key(对象)以了解它是否是新的。例如,如果我的Project实体中的ProjectId为0(零),我知道它必须是一个新对象。

说实话,我不喜欢任何这些方法,因为在这两种情况下,我的开发人员都必须做一些额外的工作来实际保存对象。

我想知道这两种解决方案的优缺点,希望是一种新的(更好的)解决方案,我还没有看到。

1 个答案:

答案 0 :(得分:0)

您仍然可以拥有自我跟踪实体和poco。在visual studio中,如果您搜索社区模板,则会有一个自我跟踪poco模板。这就是你想要使用的。如果您可以使用Ientitywithobjecttracker找到模板查找实体。

http://msdn.microsoft.com/en-us/library/dd456848.aspx