处理null结果

时间:2013-01-20 12:07:55

标签: c# asp.net asp.net-mvc database linq-to-sql

我有一个可以返回null的数据库请求:

Pony MyPony = db.Pony.Where(p => p.PonyOwnerId == user.UserId).First();

如果我的数据库中没有行,则会显示错误消息。

如何接受空查询?

3 个答案:

答案 0 :(得分:2)

你可以写:

Pony myPony = db.Pony.Where(p => p.PonyOwnerId == user.UserId).FirstOrDefault();
if( myPony != null ) {
    // Do something
}

答案 1 :(得分:2)

您可以使用FirstOrDefault

Pony myPony = db.Pony.Where(p => p.PonyOwnerId == user.UserId).FirstOrDefault();

if (myPony == null) 
{ 
    .. 
}

答案 2 :(得分:2)

var MyPony = db.Pony.FirstOrDefault(p => p.PonyOwnerId != null && p.PonyOwnerId == user.UserId);

var MyPony = db.Pony.Where(p => p.PonyOwnerId != null && p.PonyOwnerId == user.UserId).FirstOrDefault();

if (db.Pony.FirstOrDefault(p => p.PonyOwnerId != null && p.PonyOwnerId == user.UserId) != null)
{
 //Do stuff
}