Я играю с ASP.net, используя первый подход кода для создания и использования базы данных.Объект, возвращающий null после создания объекта
Используя приведенный ниже код, я получаю исключение типа 'System.NullReferenceException' Ссылка на объект не установлена в экземпляр объекта (см. Код для конкретной строки).
Когда я перехожу через приложение, переменная, о которой идет речь, «p» имеет значение {Code_first_database.Models.Product}, а не null.
Я просмотрел What is a NullReferenceException and how do I fix it? и What does “Object reference not set to an instance of an object” mean?, но я все еще не могу видеть проблему.
Любая помощь очень ценится.
HomeController.cs
namespace Code_first_database.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
Models.Product p = new Models.Product("Soft331", "Book");
using (var db = new Models.ProductDB())
{
db.products.Add(p); // **EXCEPTION THROWN HERE**
db.SaveChanges();
ViewBag.Message = "The number of products so far is " +
db.products.Count().ToString();
}
return View();
}
}
}
Product.cs
namespace Code_first_database.Models
{
public class Product
{
public int Id { get; set; }
public string Product_Code { get; set; }
public string Product_Name { get; set; }
public float Price { get; set; }
public int Stock { get; set; }
public Product(string p_code, string p_name)
{
Product_Code = p_code;
Product_Name = p_name;
}
}
}
ProductDB.cs
namespace Code_first_database.Models
{
public class ProductDB : DbContext
{
public DbSet<Product> products;
public ProductDB() : base("DefaultConnection")
{
}
}
}
Благодарности Tony
ли ваш 'db' переменной на самом деле имеют непустое' 'продуктов собственности? –
Я так не думаю, и я не добавил его. Как я могу проверить? – tonyedwardspz