У меня было чистое приложение .NET Core 2.2 Razor Pages без модулей MVC.Затем я добавил папку Controller, папку View и использовал папку Models, которая у меня уже была.
Я пытаюсь сослаться на свою базу данных в новом Controller, но не могу получить синтаксис.Вот мой рабочий файл страницы курса .cs с рабочим DbContext вверху:
namespace OESAC.Pages.Courses
{
public class IndexModel : PageModel
{
public readonly MyDbContext _context;
public IndexModel(MyDbContext context)
{
_context = context;
}
Ниже приведена верхняя часть моего кода контроллера MVC, который, как мне показалось, я выяснил, но получаю ошибку.
System.NullReferenceException: 'Ссылка на объект не установлена для экземпляра объекта.'_configuration is null.
Последние 2 строки - это то место, где я получаю сообщение об ошибке (сохранить изменения).Обычные управляемые данными Razor Pages работают с db.SaveChanges, потому что у меня правильный синтаксис для объявления _context.
namespace OESAC.Controllers
{
public class HomeController : Controller
{
MyDbContext db = new MyDbContext();
public ActionResult StartTransaction(string oesacID, string fee)
{
var model = new Models.PayPalTransactions();
string strToday = DateTime.Today.ToString();
model.TransactionDate = DateTime.Parse(strToday);
model.RecordCreated = DateTime.Parse(strToday);
model.CourseID = 4444;
model.SponsorID = 3333;
model.AmountCharged = 1;
//INSERT TRANSACTION ROW IN TRANSACTION TABLE
db.PayPalTransactions.Add(model);
db.SaveChanges();