c# - 将 short 转换为 bool Entity Framework

标签 c#

我正在尝试转换一个 short 值,它代表我们系统中的 truefalse,-1(true), 0()。

我想知道是否可以在初始化模型属性的地方进行这种类型的转换/转换。

public bool Foo {get;set;}

example: 

return db.tblSomeTable
 .Where( c => c.FooID == 1)
 .Select( c => new SomeFooModel
 {
    FooID = id,
    Foo = IsTrueOrFalse //value (-1, or 0)
 }

我尝试使用三元运算符,但语法没有意义:

IsFoo = if(IsTrueOrFalse == -1) ? true: false;,//语法错误 很明显 ; 是结束语句但是 , 在那里是因为这个 select 中有更多的属性。

另一种方法可能是调用一个根据传入的值返回 true 或 false 的函数,但我想知道这是否可以用最少的代码行来完成。

有什么建议吗?

谢谢

最佳答案

可以使用 bool 表达式

.Select(c => new SomeFooModel
 {
     Foo = (IsTrueOrFalse == -1)
 }

或条件运算符

.Select(c => new SomeFooModel
 {
     Foo = (IsTrueOrFalse == -1) ? true : false
 }

关于c# - 将 short 转换为 bool Entity Framework ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37550858/

相关文章:

c# - Asp.Net 5. Jwt token 撤销

c# - EF 扩展 AddIfNotExists 本地 lambda

c# - 基础连接已关闭。无法使用 HTTP.sys 运行 Asp.Net Core 2.1 Web API 应用程序?

c# - 下载动画 GIF

c# - 文件上传到 ASP.NET Core 中的 wwwroot 文件夹

c# - SQL SELECT * FROM XXX WHERE 数组中的列名

c# - 将 CSS 添加到静态文本而不是在一个元素中动态

c# - 三元最佳实践

c# - ASP.net MVC - Razor HTML Helper 正在占用内存而不放手

c# - 客户端/服务器应用程序 - 丢失字节