Я пытаюсь запустить некоторый код ASP.NET на моем веб-сервере, на котором установлены Mono 3.10.0 и ASP.NET версии 4.0.30319.17020.Почему Database.Query() возвращает null, когда пуст?
Код в вопросе заключается в следующем:
var db = Database.Open("myMySQLdatabase");
var q1 = db.Query(@"SELECT id FROM ph_conditions WHERE conditionName = '"+newCondName+"'");
if(q1==null || q1.Count() == 0){
//
}
Когда db.Query() выполняется, и если нет совпадения в моей базе данных, она возвращает «нулевой», вместо того, что я бы ожидать , который является IEnumerable список размера 0. Почему это так?
Если есть совпадения, значит, он ведет себя так, как ожидалось.
Прямо сейчас, чтобы обойти это нулевые ошибки, я включаю проверку, чтобы проверить, является ли запрос нулевым или нет, но он должен всегда возвращать какой-либо список, даже если он пуст, правильно?
Что такое 'Database.Query'? Это не EF и не дозвуковой, не так ли? Возможно, это именно то, что делает ваша инфраструктура. – t3chb0t
Это метод из пространства имен [WebMatrix.Data] (http://msdn.microsoft.com/en-us/library/webmatrix.data.database.query%28v=vs.111%29.aspx). – uneatenbreakfast