Ссылка на объект, не установленная как инстанция объекта. Asp.net MVC

cambiando .First() a .FirstOrDefault()Добавил еще два поля к классу получатель и я сделал миграции сейчас он показывает мне эту ошибку.

//Model 
[Table("Beneficiarios")]
    public class Beneficiario
    {
        [Key]
        public  int beneficiarioId { get; set; }
        public string nombreBeneficiario { get; set; }
        public string apellidoBeneficiario { get; set; }
        public string cedula { get; set; }
        public string resolucion { get; set; }
        public string nombreBeneficio { get; set; }
        public string siglas { get; set; }
        public string tipoBeca { get; set; }
        public string estado { get; set; }
        public int mesInicio { get; set; }
        public int anoInicio { get; set; }
        public int mesVence { get; set; }
        public int anoVence { get; set; }
        public int montoTotal { get; set; }
        public decimal montoOtorgado { get; set; }
        public decimal montoPendiente { get; set; }
        public string fuente { get; set; }
        public string codigoPlastico { get; set; }
        public string fotoUrl { get; set; }
        public string firmaUrl { get; set; }
        public bool impreso { get; set; }
        public string carnetFechaImpreso { get; set; }
        public string carnetUsuarioImpreso { get; set; }
//Controller
 //
        // POST: FotoCarnet/GuardarFoto
        [HttpPost]
        public RedirectToRouteResult GuardarFoto(FormCollection form)
        {
            string cedula = form["cedula"];
            string imagenBase64 = form["image"];
            string imageSource;
            Image imagen;
            Beneficiario beneficiario = new Beneficiario();
            string[] partesCedula = cedula.Split('-');
            string nombreFoto = partesCedula[0] + "/" + partesCedula[1] + "/" + cedula + ".jpg";
            string folderRaiz = Server.MapPath("~/Fotos/" + partesCedula[0]);
            string subFolder = Server.MapPath("~/Fotos/" + partesCedula[0] + "/" + partesCedula[1]);
            string rutaFoto = Server.MapPath("~/Fotos/" + nombreFoto);

            if (imagenBase64 != null)
            {
                imageSource = String.Format("data:image/jpg;base64,{0}", imagenBase64);
                imagen = Base64ToImage(imagenBase64);

                if (!Directory.Exists(folderRaiz))
                {
                    System.IO.Directory.CreateDirectory(folderRaiz);
                }
                if (!Directory.Exists(subFolder))
                {
                    System.IO.Directory.CreateDirectory(subFolder);
                }
                imagen.Save(rutaFoto, System.Drawing.Imaging.ImageFormat.Jpeg);

                var queryBeneficiario = from b in _dbContext.Beneficiarios
                                        where b.cedula == cedula
                                        select b;

                beneficiario = queryBeneficiario.First[![introducir la descripción de la imagen aquí][1]][1]();
                beneficiario.fotoUrl = nombreFoto;
                _dbContext.SaveChanges();

                RevertirValidarImpresion(cedula);
            }

            return RedirectToAction("Resultados", "FotoCarnet", new { cedula = cedula });
        }

introducir la descripción de la imagen aquí


introducir la descripción de la imagen aquí

Я то, что приносит мне query, но равный он просит меня instanciar

3
задан 26.07.2016, 19:20
3 ответа

Стоимость, которую ты пробуешь получить для beneficiario, - недействительная, ты должен проверять, потому что получена недействительная стоимость queryBeneficiario.FirstOrDefault():

 beneficiario = queryBeneficiario.FirstOrDefault();

после того, как имеешь недействительную стоимость, ты не можешь соглашаться на свойство fotoUrl, так как у инстанции beneficiario есть недействительная стоимость:

  beneficiario.fotoUrl = nombreFoto;

поэтому razГіn ты получаешь сообщение ошибки:

Снабжает ссылками объект, не установленный как инстанция объекта

1
ответ дан 24.11.2019, 13:46
  • 1
    равный разместил получатель = queryBeneficiario. FirstOrDefault (); но у меня выходит тот же errore Ссылки в объект, не установленный как инстанция объекта он был бы благодарен за твою ориентацию – e.herrera 26.07.2016, 18:27
  • 2
    проверь м и # 233; весь FirstOrDefault () query, – Jorgesys♦ 26.07.2016, 19:00
  • 3
    я заношу в список я это исправил, введи получателя, но равный он приносит меня null – e.herrera 26.07.2016, 19:14
  • 4
    beneficiario.fotoUrl = nombreFoto; сейчас он помечает меня в красном здесь – e.herrera 26.07.2016, 19:17

Это происходит, потому что, реализовав этот linq, он не возвращает никакой организации, означает, что нет никакой организации с долговым обязательством, которое ты определяешь в фильтре

var beneficiario = (from b in _dbContext.Beneficiarios
                            where b.cedula == cedula
                            select b).FirstOrDefault();

if(beneficiario != null)
{
    beneficiario.fotoUrl = nombreFoto;
    _dbContext.SaveChanges();
}

, deberГ-схвати санкционировать, если не встречается ningГєn получатель с долговым обязательством, которого ты применяешь в "Where"

1
ответ дан 24.11.2019, 13:46

Санкционируй, если объект отличается null, это перед тем, как начинать использовать после каждой консультации. Контроль никогда не остальные и не загружают твой код.

if(objeto!=null)
    //Código si el objeto está correcto.
else
    //Código si el objeto es null. Puedes lanzar una exception!

Так также как они показывают остальные, действительная, если есть кто-то с этой идентификацией - Контроль Условия снова, - но никогда ты не используешь объект, который был бы наполнен пользователем, не раньше подтверждая, считает ли он информацию возможно правильной. Всегда подтверждать.

Привет

0
ответ дан 24.11.2019, 13:46

Теги

Похожие вопросы