Linq"对象引用未设置为对象的实例。"

时间:2016-10-12 15:33:23

标签: c# linq null

这个人有点失落。在运行时在行Object reference not set to an instance of an object.上获取错误db.EntityRichContents.DeleteAllOnSubmit(q);。项目建设很好。

protected override void ControllerOnEntityDeleted(EntityObj forEntity, EntityDeletionController.DeletionAction newStatus)
{
    if (newStatus == EntityDeletionController.DeletionAction.HardDelete)
    {
        if(forEntity == null) throw new Exception();

        using (var db = new DBContext())
        {
            var q = db.EntityRichContents.Where(c => c.C3Entity == ForEntity.TypeID && c.C3EntityRecordID == ForEntity.ID);
            db.EntityRichContents.DeleteAllOnSubmit(q);
            db.SubmitChanges();
        }
    }
}

检查q.Any()q == null无论如何都没有帮助(q不为空)。

1 个答案:

答案 0 :(得分:1)

我看到有两个相似的变量:一个是 ForEntity (可能是一个类属性?),第二个是 forEntity (方法参数)。这是一个错字吗?

无论哪种方式,假设 Where 方法被懒惰地枚举,我会假设其中一个lambda参数 <table class="second"> <tr> <xsl:for-each select="./Rooms/Room"> <td> <xsl:value-of select="RoomType"/> = $<xsl:value-of select="Rate"/> </td> </xsl:for-each> </tr> </table> 一片空白。尝试为每个参数和/或属性添加空值检查以避免异常。