当前位置: 首页 > 编程语言 > C#

使用EntityFrameworkCore调用标量函数的最佳实践(2.1)分享

时间:2023-04-11 01:36:10 C#

使用EntityFrameworkCore调用标量函数的最佳实践(2.1)我经常需要从我的web应用程序(ASP.NETCore/EFCore)来调用在SQLServer上定义的标量函数。由于这些函数只是简单的辅助函数,我也经常使用它们,因此我使用通用模式调用这些标量函数-借助EFCore2.1提供的新查询类型。由于我对EFCore比较陌生,我的问题是这种模式是否会导致问题和/或调用标量函数是否有更好的解决方案或最佳实践。该解决方案有效,到目前为止我没有观察到任何问题,但例如我想知道是否对不同的函数使用相同的查询类型会导致意外的值或由于EFCore等中的缓存/跟踪行为而导致的奇怪行为-它更多就像直觉一样。所以这是模式:我没有为每个标量函数定义不同的实体类型,而是简单地定义了一个泛型类型:publicclassPrimitiveDto{publicTValue{get;放;在我的上下文类中,我为我希望使用的标量函数的每个返回类型定义了一个类型,注册了这些类型——所以对于所有返回“int”的标量函数,上下文类将有一个额外的条目,如下所示:publicvirtualDbQueryBasicIntDto{得到;放;在应用程序的每个部分,我想调用一个返回“int”的标量函数,我只使用以下相同的模式:context.BasicIntDto.FromSql("SELECTASValue")通过使用这个模式,我可以调用任何以相同的方式处理多个函数,无需定义其他类型或扩展上下文类。如果我会遇到这种模式的陷阱,请告诉我。非常感谢。以上就是《C#学习教程:使用EntityFrameworkCore调用标量函数最佳实践(2.1)》分享的全部内容。如果对你有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络合集,不代表立场,如涉及侵权,请右击联系管理员删除。如需转载请注明出处: