gpt4 book ai didi

c# - 在 EF 4.x 中处理将 0/1 转换为 False/True 的最简单方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 08:15:07 34 4
gpt4 key购买 nike

存储的 Proc 返回一个值为 0 或 1 的列,而不转换为 BIT。在我的 POCO 中,如果我将该字段声明为

public bool MyColumn {get; set;}

我收到这个错误:

The specified cast from a materialized 'System.Int32' type to the 'System.Boolean' type is not valid.

这实际上是有道理的,因为 EF 将返回值识别为整数。

我想知道是否有任何简单的方法(添加注释或可能使用流畅的 api)在场景后面的映射中自动将 0/1 转换为 False/True 而无需触及 Proc?

提前致谢!

最佳答案

另一种选择是从存储过程返回一个 BIT,这样您就不需要在 C# 端强制转换任何内容或使用任何奇怪的修饰。这意味着,您可以在 T-SQL 中将整数值转换为 BIT,如下所示:

select col1, col2, CONVERT(BIT, CASE WHEN col3 IS NULL THEN 0 ELSE 1 END) as colWithBit
FROM table1

关于c# - 在 EF 4.x 中处理将 0/1 转换为 False/True 的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783226/

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