所以我正在阅读有关实体框架的内容,根据我的敏捷开发方案,我决定使用POCO对象。
但现在我有一些额外的问题,我不知道如何逃脱。
我正在使用RIA服务和Silverlight,所以当我要保存服务器端的对象时,我必须将对象附加到ObjectContext
。问题是我必须将ObjectState
更改为已添加或已修改。
所以我的问题是什么是真正了解要改变它的状态的最佳方法。我在Julia Lerman的书中看到她在她的POCO对象中使用State
属性,并且在将对象发送到服务器之前,她会在客户端管理该状态。然后,该状态用于在附加后更改真实的EntitySate。
我还看过其他示例,其中Insert实现检查实体的Key(对象)以了解它是否是新的。例如,如果我的Project实体中的ProjectId
为0(零),我知道它必须是一个新对象。
说实话,我不喜欢任何这些方法,因为在这两种情况下,我的开发人员都必须做一些额外的工作来实际保存对象。
我想知道这两种解决方案的优缺点,希望是一种新的(更好的)解决方案,我还没有看到。
答案 0 :(得分:0)
您仍然可以拥有自我跟踪实体和poco。在visual studio中,如果您搜索社区模板,则会有一个自我跟踪poco模板。这就是你想要使用的。如果您可以使用Ientitywithobjecttracker找到模板查找实体。