gpt4 book ai didi

c# - 可为空的 GUID

转载 作者:IT王子 更新时间:2023-10-29 04:15:50 24 4
gpt4 key购买 nike

在我的数据库中,在其中一个表中有一个允许空值的 GUID 列。我有一个带有 Guid 的方法?在表中插入新数据行的参数。但是,当我说 myNewRow.myGuidColumn = myGuid 时,出现以下错误:“无法隐式转换类型‘System.Guid?’到 'System.Guid'。”

最佳答案

ADO.NET API 在处理可空值类型时存在一些问题(即它无法正常工作)。我们遇到了无穷无尽的问题,因此得出的结论是最好手动将值设置为 null,例如

myNewRow.myGuidColumn = myGuid == null ? (object)DBNull.Value : myGuid.Value

这是 ADO.NET 应该处理的痛苦的额外工作,但它似乎并不可靠(即使在 3.5 SP1 中)。这至少可以正常工作。

我们还看到了将可空值类型传递给 SqlParameters 的问题,其中生成的 SQL 包含关键字 DEFAULT 而不是 NULL 作为值,因此我建议构建参数时采用相同的方法。

关于c# - 可为空的 GUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/211436/

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