gpt4 book ai didi

petapoco - 将 PetaPoco 属性添加到 POCO 是否有任何负面影响?

转载 作者:行者123 更新时间:2023-12-04 18:23:59 26 4
gpt4 key购买 nike

我们当前的应用程序使用智能对象样式来处理数据库。我们正在研究改用 PetaPoco 的可行性。查看我注意到的功能,您可以添加属性以使 CRUD 对象更容易。添加这些属性是否有任何我应该注意的负面影响?

有没有人找到不使用这些装饰器的理由?

最佳答案

直接使用POCO对象实例本身? 没有任何。
至少我不会意识到。 Jon Skeet 应该能够提供更多信息,因为他完全了解编译器的内部工作原理,因此他确切地知道此元数据在编译后会发生什么。
与这些间接相关的其他影响
访问这些声明性属性时当然会有影响,因为它们是使用反射读取的,这通常是一个缓慢的过程。
但是这里没有什么好担心的,因为 PetaPoco 是一个智能库,并且只读取一次然后编译和缓存这些东西,所以你只受到一次惩罚,然后你就会获得惊人的性能。因为它使用编译后的代码。
与绩效无关的影响
通过将属性(任何)放在您的类/属性/方法上,您以某种方式将您的代码绑定(bind)到将使用此类的特定引擎,因为它们是该特定引擎理解您的代码的指令。
对于 PetaPoco 属性,这意味着您的类可以与 PetaPoco 一起使用,但不能与其他一些 DAL(即 EF)一起使用,除非您也添加该类的属性(EF Code First 使用与属性完全相同的方法)。
第二个含义与后端数据库有关。如果您将 PetaPoco 属性中提供的表、列或任何其他部分重命名为常量魔术字符串,您随后也必须更改此字符串。这只是意味着您在进行数据库更改时必须彻底......

关于petapoco - 将 PetaPoco 属性添加到 POCO 是否有任何负面影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10108171/

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