gpt4 book ai didi

c# - 当类型在运行时已知时,如何将数据库中的值映射到我的对象?

转载 作者:太空宇宙 更新时间:2023-11-03 20:30:10 25 4
gpt4 key购买 nike

我的数据库有一个表,如下所示:

conditionID, conditionType, conditionValue

ConditionType 是一个枚举值,例如 Integer、String、DateTime 等。

ConditionValue 以字符串形式存储。

现在我想将这一行封装在一个类中,以便我可以对 ConditionValue 进行比较,例如 EqualTo、GreaterThan、LessThan 等。

目前我的设计不正确,因为我有类似的方法(otherValue 是我要比较的值):

GreaterThan(string value, string otherValue);
GreaterThan(int value, int otherValue);
GreaterThan(DateTime value, DateTime otherValue);

我能否以某种方式制作一个封装此信息的 ConditionValue 类,以便我可以:

GreaterThan(IConditionValue condition, IConditionValue otherValue)

最佳答案

这应该可以很容易地使用自适应对象模型或类型对象模式进行建模。不过,对于您的情况来说,这可能太过分了。

http://adaptiveobjectmodel.com/

http://www.cs.ox.ac.uk/jeremy.gibbons/dpa/typeobject.pdf

它允许您在运行时重新配置模型、随意添加/删除行为、定义规则等。

关于c# - 当类型在运行时已知时,如何将数据库中的值映射到我的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918686/

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