NullReferenceException异常。对象引用未设置为对象的实例c#

时间:2015-12-03 18:37:40

标签: c# visual-studio-2013 entity-framework-4 nullreferenceexception

我是新来的,我不知道我是否违反了任何规则,如果是这样,我真的很抱歉。

我有预订音乐会的系统,我收到一些错误,我想知道是否有人可以帮助我,谢谢。

  

错误:   发生System.NullReferenceException HResult = -2147467261 Message =对象引用未设置为对象的实例。
  Source = BLO StackTrace:          在BLO.BObj.CargarIdPresentacion(Int32 idConcierto,String ciudad,DateTime dt)中c:\ Users \ AS \ Desktop \ FinalP2 \ BLO \ BObj.cs:line   492 InnerException:**

     

**发生System.NullReferenceException HResult = -2147467261 Message =对象引用未设置为对象的实例。
  Source = BLO StackTrace:          在BLO.BObj.CargaridLugar(String city,String name)中的c:\ Users \ AS \ Desktop \ FinalP2 \ BLO \ BObj.cs:第230行InnerException:

 public int CargarIdPresentacion(int idConcierto, string ciudad, DateTime dt )
{
    var query = from c in Db.Presentacions where (c.idConcierto == idConcierto && c.fechaHora == dt) select c;
    var concierto = query.FirstOrDefault();
    if (concierto == null)
    {
        throw new ArgumentNullException("i don't know what happend!");
    }

    return concierto.idConcierto;
}


        int CargaridLugar(string city, string name)
    {
        var query = from u in Db.Lugars where (u.nombre == name && u.ciudad == city) select u;
        var lugar = query.FirstOrDefault();

        return lugar.idLugar;
    }

1 个答案:

答案 0 :(得分:0)

只是看一下你的代码,我可以看到你假设

var lugar

永远不会为空,这不是你可以假设的情况。我不能肯定这是你的问题,但你正试图在CargaridLugar函数中使用null。假设一切都很好,最好在代码中进行检查之前检查空值。一些好的诊断日志记录也很长,并且以下函数总是很方便用来捕获问题所在。

https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx