gpt4 book ai didi

entity-framework - 2 个属性中的一个应该为空(EntityFramework Code First)

转载 作者:行者123 更新时间:2023-12-04 23:49:25 24 4
gpt4 key购买 nike

我在论坛上搜索了很多,但没有找到有关此问题的任何信息。

我在 EntityFramework Code First 中有 2 个属性:

    [Column(TypeName = "Money")]
public decimal? Debit { get; set; }
[Column(TypeName = "Money")]
public decimal? Credit { get; set; }

其中一个不应该为空,但另一个应该为空
例子:
Debit=null;
Credit=34;

Debit=45;
Credit=null;

另一方面,不应该将它们都设置为空或都不为空。
是否可以使用数据注释来处理此问题,还是应该使用变通方法来解决?

此致!

最佳答案

您始终可以使用约束在数据库端进行验证,

ALTER TABLE TableName 
ADD CONSTRAINT OneColumnNull CHECK
((Debit IS NULL AND Credit IS NOT NULL) OR
(Debit IS NOT NULL AND Credit IS NULL)
)

正是你正在寻找的。您可以将该查询作为数据库迁移脚本之一的一部分。

关于entity-framework - 2 个属性中的一个应该为空(EntityFramework Code First),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26224548/

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