我是新来的,我不知道我是否违反了任何规则,如果是这样,我真的很抱歉。
我有预订音乐会的系统,我收到一些错误,我想知道是否有人可以帮助我,谢谢。
错误: 发生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;
}
答案 0 :(得分:0)
只是看一下你的代码,我可以看到你假设
var lugar
永远不会为空,这不是你可以假设的情况。我不能肯定这是你的问题,但你正试图在CargaridLugar函数中使用null。假设一切都很好,最好在代码中进行检查之前检查空值。一些好的诊断日志记录也很长,并且以下函数总是很方便用来捕获问题所在。
https://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break(v=vs.110).aspx