我对Dynamics CRM 2011上需要实体自定义时建议的最佳做法感兴趣.Microsoft建议使用to modify built-in entities instead of creating new ones,但我担心使用此方法在将来的升级中具有向前兼容性。
建议的最佳做法是什么:
答案 0 :(得分:2)
这取决于你想要Lester做什么。他们建议使用内置实体的原因是您不必创建它,定义它,创建视图,创建表单或任何东西。这一切都是为你完成的。如果您需要跟踪个人的地址和其他个人信息,请使用联系人实体。添加您需要的字段。隐藏你没有的那些。
如果您需要执行任何内置实体都不支持的操作,请务必创建自己的实体。请记住,您需要为其定义图标,视图,表单和安全性。
答案 1 :(得分:1)
这实际上取决于您尝试创建的内容。
如果您需要联系人记录,那么在大多数情况下,您将使用联系人实体并根据需要进行自定义。另一方面,如果我需要进行授权管理,我不太可能只扩展现有实体 - 而是将创建授权实体和相应的相关实体作为自定义实体。是的,您可能可以重用一些现有的来实现您的目标,但实际上没有充分的理由这样做,如果您需要它,那么您将面临无法使用自定义内置实体的风险未来的目的。
所以快速拿走就是问自己这个问题:根据要求,我是否真的适合现有实体? (即,此解决方案具有订单管理,它应与订单实体等相配合)。
如果不是,请构建自定义实体。
如果是,请问自己下一个问题:我正在实施的业务逻辑是否与CRM如何工作OOTB一致?如果是,请使用内置实体并进行自定义。如果不是,请构建自定义实体。
希望有所帮助 - 没有伟大的二元决策。其中很多是基于偏好和经验,以及对解决方案如何随着时间的推移而发展的理解。