bir nesne eklemek Cant:Böyle bir modele sahip listemde
public class Balance
{
public int BalanceId { get; set; }
public List<Expense> Expenses { get; set; }
public List<Income> Incomes { get; set; }
public string ApplicationUserId { get; set; }
}
bu model 2 modeller Gider ve Gelir 2 listesi vardır.
Yani ben istediğim burada Denetleyici'de bunu gerçekleştirmeye çalışacağız Gider ve im benim Listesine bir Gider eklemektir:
public ActionResult Create([Bind(Include = "ExpenseId,TipoDespesaId,DespesaDescricao,DespesaValor,TipoPagamentoId,Data,Comentario")] Expense expense)
{
var userId = User.Identity.GetUserId();
if (ModelState.IsValid)
{
var balance = db.Balance.Where(d => d.ApplicationUserId == userId).FirstOrDefault();
expense.ApplicationUserId = userId;
if (balance == null)
{
Balance b = new Balance();
s.Expense.Add(expense);
s.ApplicationUserId = userId;
}
else
{
balance.expense.Add(despesa);
}
db.Despesas.Add(expense);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.TipoDespesaId = new SelectList(db.TipoDespesas.Where(m => m.ApplicationUserId == userId), "TipoDespesaId", "TipoDespesaNome", despesa.TipoDespesaId);
ViewBag.TipoPagamentoId = new SelectList(db.TipoPagamentos.Where(m => m.ApplicationUserId == userId), "TipoPagamentoId", "TipoPagamentoNome", despesa.TipoPagamentoId);
return View(despesa);
}
Hata buradadır:
if (balance == null)
{
Balance b = new Balance();
s.Expense.Add(expense);
s.ApplicationUserId = userId;
}
"Nesne başvurusu bir nesnenin örneğine ayarlanmadı" diyor Birisi neyi yanlış yaptığımı anlamak için bana yardımcı olabilir
Ps: Kötü ingilizcem için özür dilerim ama daha fazlasını öğrenmek istiyorum
Hmmm, beni açıklayabilirim, neden Dengesini neden başlatmam gerekiyor? Yeni başlayanlar soruları için özür dileriz –
'Giderler 'siz başlatılana kadar boştur. Yukarıda gösterildiği gibi kurucuda başlatılmadıkça, "Dengesi" nin bir örneğini oluşturmak, özelliklerini başlatmaz. – jrummell
Harika, iyi bir açıklama teşekkür ederim :) –