gpt4 book ai didi

.net - 处理 Entity Framework 5 中的枚举更改

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

this question ,我发现 Entity Framework 迁移不处理枚举更改。事实上,枚举更改甚至不会导致模型更改错误,因此您可以随意更改枚举而无需控制。

导致不同 int 值的枚举更改(例如订单更改或删除)可以有效地使数据库数据无效,因为存储的整数的含义现在是错误的。

为了使迁移工作,您必须手动执行更改更改的枚举值的自定义 SQL。

问题是,开发人员必须记住这样做,如果存在疏忽,则可能会发生有效的数据损坏。

有人如何对此进行检查?如果枚举更改,是否有可能抛出模型更改错误或类似的错误?

最佳答案

当您将枚举移到不同的项目以用作库时,.Net 中存在与枚举类似的问题:

http://bytes.com/topic/c-sharp/answers/271483-q-why-casting-enum#post1086722

试试看——一般来说,枚举非常脆弱。答案是始终为您的枚举分配一个明确的值,以防止这两个问题。这使您仍然可以利用它们的核心值(value)(清晰的名称而不是魔数(Magic Number)和更多的方法参数中的类型安全性),但可以防止您悄悄地破坏一切。

您可以通过正则表达式使用代码审查或提交后 Hook 来强制执行此策略。

关于.net - 处理 Entity Framework 5 中的枚举更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11942078/

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