gpt4 book ai didi

javascript - Breeze : the new EntityErrorsException

转载 作者:行者123 更新时间:2023-11-30 17:57:27 27 4
gpt4 key购买 nike

我对使用今天发布的新 EntityErrorsException 非常感兴趣。但是我的同事实现服务器端逻辑的方式可能是个问题。

在webAPI Controller 中,我们使用了自己的contextProvider,它继承自breeze的EFContextProvider。见下面的代码:

 public class SepaContextProvider : EFContextProvider<CompanyName.BLL.BLDirectDebitContext>
{
public MyContextProvider() : base() { }
}

如您所见,通用参数是一个 BLDirectDebitContext,它继承自数据访问层中定义的 DirectDebitContext 类:

 public class DirectDebitContext : DbContext{
}

这样,实体在 BLDirectDebitContext 类中通过覆盖 ValidateEntity() 进行验证,因此如果从桌面应用程序调用此代码(不使用 webAPI 甚至不使用 breeze),验证逻辑不必是重写。

理想情况下,我们可以在此处创建 EFEntityError 对象并抛出 EntityErrorsException。但这意味着在我们的业务层中引用 breeze.webapi dll,考虑到依赖项的数量,这听起来不太好。

将 breeze.webapi dll 拆分成不同的 dll 不是更有意义吗?还是我们的方法没有任何意义?

最佳答案

我们计划在不久的将来将 Breeze.WebApi 重构为至少两个或三个 dll。 (对不起,还没有确切的日期)。一个包括核心 .NET 通用代码(依赖性大大减少),另一个是特定于 Entity Framework 的。我们计划同时发布一个 NHibernate 特定的 dll,与 Entity Framework 版本并行。

当然,这将是一个突破性的变化,这就是为什么我们试图让一切都组织得当,这样我们就不必再这样做了。理想情况下,对于任何 Breeze 消费者来说,从当前结构到新结构的转换都相当容易。

在一个稍微相关的问题上,您是否注意到您还可以使用标准的 .NET DataAnnotation Validation 属性以及 EntityErrorsException。这两种机制导致完全相同的客户端体验。

关于javascript - Breeze : the new EntityErrorsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17814516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com