Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不能将可空int设置为LINQ查询的返回值?

不能将可空int设置为LINQ查询的返回值?
EN

Stack Overflow用户
提问于 2015-01-04 21:33:49
回答 5查看 6.1K关注 0票数 3

我想根据某些条件从表中检索Id。如果不满足条件,我只想返回默认值(在本例中,我假设为null)。这是我的密码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int? circuitTypeId = cimsContext.CircuitTypes.FirstOrDefault(ct => ct.Name == circuitType).Id;

我假设,如果ct.NamecircuitType之间没有匹配,则返回的值是null。但是,在运行我的程序时,我会在这一行上看到一个错误,上面写着"Null reference exception“。我知道记录不在那里,但难道我不能将查询返回的null分配给我的nullable int变量吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-01-04 21:38:58

在分配null变量之前,首先应该检查circuitTypeId

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int? circuitTypeId;

var circuitType = cimsContext.CircuitTypes.FirstOrDefault(ct => ct.Name == circuitType);
if(circuitType != null)
{
    circuitTypeId = circuitType.Id;
}
票数 2
EN

Stack Overflow用户

发布于 2015-01-04 21:42:06

你的假设是错误的,根据你的疑问:-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int? circuitTypeId = cimsContext.CircuitTypes
                                .FirstOrDefault(ct => ct.Name == circuitType).Id;

这将在找到match时返回int,但当没有名称与circuitType名称匹配时,它将抛出一个circuitType。你应该这么做:-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var circuitTypeObj = cimsContext.CircuitTypes
                                .FirstOrDefault(ct => ct.Name == circuitType);
int? circuitTypeId = circuitTypeObj == null ? (int?)null : circuitTypeObj.Id;
票数 5
EN

Stack Overflow用户

发布于 2015-01-04 21:41:35

试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int? circuitTypeId = cimsContext.CircuitTypes.Where(ct => ct.Name == circuitType).Select(p => p.Id).FirstOrDefault();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27773941

复制
相关文章
new ScalarHandler()-->返回值为long,不能用int接收!!!
qr.query()返回object类型 ,先转成 ScalarHandler的Long类型 然后 在转为 int类型,之前我直接就转成int类型所以就GG了呱~。
2020/10/23
1.6K0
new ScalarHandler()-->返回值为long,不能用int接收!!!
Mybatis查询结果为空时,为什么返回值为NULL或空集合?
一行数据记录如何映射成一个 Java 对象,这种映射机制是 MyBatis 作为 ORM 框架的核心功能之一,也是我们这篇文章需要学习的内容。
架构师修炼
2022/07/30
5.5K0
Mybatis查询结果为空时,为什么返回值为NULL或空集合?
jdbctemplate查询为空报错_java空指针异常举例
Dao类是不能直接new出来的必须是通过 ApplicationContext applicationContext= new
全栈程序员站长
2022/11/17
3.1K0
C++使用mysql判断select查询结果是否为空mysql_query返回值问题
mysql_query的返回值,无效sql语句的时候会返回false,但如果输入sql语句时有效的,仍然会返回有效的id,换句话说mysql_query无论是否查询值,,只要语法不出问题,都会返回真。
花狗Fdog
2020/10/28
11.3K0
Linq to SQL 查询Tips
LINQ to SQL当中的灵活的查询操作是其一个很大的优点, 但是当编写较复杂的链接时有时候需要注意一些细节。 1、LINQ to SQL 提供了 DataLoadOptions用于立即加载对象,避免往返访问数据库,提高查询性能。方法包括:      LoadWith 方法,用于立即加载与主目标相关的数据。      AssociateWith 方法,用于筛选为特定关系检索到的对象。        public List<Entity.RoleDataExtend> GetDataExtendByR
张善友
2018/01/19
9970
LINQ之查询语法
LINQ(Language Integrated Query)语言集成查询,是C#语言的扩展,它的主要功能是从数据集中查询数据,就像通过sql语句从数据库查询数据一样(本节讲的linq查询语法跟sql语法也是类似),LINQ将这一形式实现在了C#中,熟悉JAVA的同学,LINQ就是JAVA中的StreamAPI。
宿春磊Charles
2022/03/29
1.1K0
WAMP中的MySQL设置密码(默认密码为空)
打开【wamp】存放【MySQL】的位置,并输入【mysqld】回车,打开数据库。
红目香薰
2022/11/29
11.1K0
WAMP中的MySQL设置密码(默认密码为空)
LINQ驱动数据的查询功能
一、LINQ概念       LINQ是微软在.NetFramework3.5中新加入的语言功能,在语言中以程序代码方式处理集合的能力。 1.1 LINQ VS 循环处理       在我刚工作时候,对于集合对象的处理一般是采用循环这个集合处理,在处理实值类型上这样做效率还行,但是如果集合内是引用类型,使用LINQ就方便的多,例如一个程序要计算课程的总分和平均分,实体分别是Student和StudentScore 类的申明如下: /// <summary> /// 学生实体 /// </s
用户1055830
2018/01/18
2.9K0
LINQ驱动数据的查询功能
小程序根据返回值是否为空判断标签是否显示
如果为空,则不显示奖励这两个字的标签 wxml <view class="cu-item" wx:for="{{allSignList}}" wx:key="index"> <view class="content"> <view wx:if="{{item.taskReward}}">奖励:{{item.taskReward}}</view> </view> </view> js Page({ data: { allSignList: [] }, onLoad: fun
王小婷
2020/12/28
2.8K0
小程序根据返回值是否为空判断标签是否显示
LINQ能不能用系列(二)LINQ to SQL 效率比对
前言 很多人听说过LINQ TO SQL与ADO.NET传统方式用于不同的环境,LINQ TO SQL与ADO.NET传统方式也没有可比性,就像公交车与私家车一样,虽然是车但用途完全不同,但很少有人去探究,究竟为什么他们不同,他们不同的原因是什么,这我觉得是一个好的程序和一个普通程序最主要的区别之一。下面一起来看LINQ TO SQL效率到底如果吧。 内容 测试环境:net framework 4.0 + Sql Server 2008 测试用途:100w条数据 like 查询,原因添加、修改、删除消耗
磊哥
2018/05/08
1.2K0
LINQ能不能用系列(二)LINQ to SQL 效率比对
LinQ 查询表达式
最近的工作是对一个复杂数据库进行操作,模型类之间的关系很复杂。操作方式使用了 LINQ,之前一直对 LINQ 的查询语法不太喜欢,这次使用之后,感觉比方法语法更容易接受,因此详细总结一下查询表达式的语法。
1ess
2021/11/01
1.9K0
sql查询序列是否存在_oracle if判断是否为空
select sequence_name from user_sequences where sequence_name= ‘参数’
全栈程序员站长
2022/11/07
2.8K0
mysql float字段类型数据查询为空问题
作者:matrix 被围观: 224 次 发布时间:2021-12-28 分类:mysql PHP | 无评论 »
HHTjim 部落格
2022/09/26
5.2K0
LINQ能不能用系列(一)LINQ to Object 效率比对
前言 简介:LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。 分类:LINQ to Object, LINQ to XML, LINQ to SQL, LINQ to DataSet,LINQ to ADO.NET。 相关:相信linq大家已经很熟悉了,如果有不太熟的,可以参考MSDN 地址:http://msdn.microsoft.com/zh-cn/library/bb397933.aspx 缘由:Linq 到底能不能用?
磊哥
2018/05/08
9590
LINQ能不能用系列(一)LINQ to Object 效率比对
php如何判断SQL语句的查询结果是否为空?
PHP与mysql这对黄金搭档配合的相当默契,但偶尔也会遇到一些小需求不知道该怎么做,例如今天要谈到的:如何判断sql语句查询的结果集是否为空!
Yiiven
2022/12/15
3.6K0
mysql 5.7关闭password validation,为root设置空密码
在centos 7.4上yum安装了mysql 5.7后,发现mysql 5.7默认的root用户有了密码,而且设置为空密码时会受到安全限制,报错信息如下 Your password does not satisfy the current policy requirements 按照这个答案,用root登录mysql,运行 uninstall plugin validate_password; 则可以肆无忌惮的为root设置空密码
大神带我来搬砖
2018/05/02
5.2K0
LINQ多条件OR模糊查询
本文章转载:http://www.cnblogs.com/guyun/archive/2012/10/18/2729888.html
跟着阿笨一起玩NET
2018/09/19
1.7K0
MongoDB查询时排序字段为int类型和string类型的区别
平常用Mysql比较多所以在查询时自然想到ORDER BY list_order DESC,
solate
2019/07/22
1.9K0
LINQ查询操作符 LINQ学习第二篇
一、投影操作符 1. Select Select操作符对单个序列或集合中的值进行投影。下面的示例中使用select从序列中返回Employee表的所有列: using (NorthwindDataContext db=new NorthwindDataContext()) {     //查询语法     var query =         from e in db.Employees         where e.FirstName.StartsWith("M")        
hbbliyong
2018/03/05
3.1K0
点击加载更多

相似问题

将可空的int设置为null

10

在linq查询中将可空的int转换为int返回匿名类型

10

MySqlcan不能将可空列设置为null

18

如果value小于零,则将可空int设置为零

313

将可空int转换为int

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文