我们已经开始考虑使用 BreezeSharp,因为我们有一个 WebAPI ODATA 服务,我们希望在 ASP.NET 站点上重复使用该服务(不涉及 javascript,只涉及纯 C#)。
不幸的是,我们刚刚注意到,根据文档,我们所有的模型实体现在都应该继承自 Breeze.Sharp.BaseEntity。这对我们来说是不行的,因为这意味着我们的商业模式依赖于 Breeze。我们宁愿仅保留对 WebAPI 服务的这种依赖。
我们有什么办法可以避免这种情况吗?例如,当代理类不继承自 BaseEntity 时,是否在客户端拥有代理类?
对此有什么想法吗?
The Breeze.Sharp.BaseEntity需求纯粹在客户端,其原因是提供所有持久性、导航、密钥修复、更改跟踪和通知以及其他服务,使微风客户端如此易于使用。
有一个IEntityBreeze.Sharp.BaseEntity 实现的接口,您可以自由地实现它而不是使用 Breeze.Sharp.BaseEntity,但是,这是一项非常重要的任务。如果我们的社区普遍认为需要的话,我们正在考虑稍后提供一些指导。
我们还计划发布 AOP 实现IEntity可以直接注入 POCO 模型对象之上,但这可能需要 PostSharp,并且在某些客户端平台(适用于 Android/IOS 的 Xamarin)上运行也可能存在问题。在我们了解需求之前,没有时间表。
另一方面,当前的实现非常尊重您的模型对象,只有一个“EntityAspect”属性与多个事件一起添加到您的模型中。
我们过去曾在许多其他平台和应用程序库上尝试过纯 POCO 方法,并发现其缺点超过了基类的最低成本,特别是考虑到我们希望该库在包括 Xamarin 在内的任何 .NET 客户端中运行时/单核细胞增多症。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)