【发布时间】:2019-01-19 01:29:43
【问题描述】:
我收到这个错误
System.ArgumentNullException: '值不能为空。参数名称:实体'
这是我的代码:
namespace CodeFirstFinal
{
class Program
{
public static Category category { get; private set; }
static void Main(string[] args)
{
using (var db = new CategoryContext())
{
Console.Write("Enter a name for a new Error category:");
var name = Console.ReadLine();
var blog = new Category { Name = name };
db.Categories.Add(category);
db.SaveChanges();
var query = from c in db.Categories
orderby c.Name
select c;
foreach (var item in query)
{
Console.WriteLine(item.Name);
}
}
}
}
public class Category
{
public int? CategoryId { get; set; }
public string Name { get; set; }
public string Url { get; set; }
public virtual List<Error> Errors { get; set; }
}
public class Error
{
public int? ErrorId { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int? CategoryId { get; set; }
public virtual Category Category { get; set; }
}
public class User
{
[Key]
public string Username { get; set; }
public string DisplayName { get; set; }
}
public class CategoryContext : DbContext
{
public DbSet<Category> Categories { get; set; }
public DbSet<Error> Errors { get; set; }
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.Property(u => u.DisplayName)
.HasColumnName("display_area");
}
}
}
这行代码出现错误:
db.Categories.Add(category);
我是编程新手,如果有任何帮助,我将不胜感激。
谢谢!
【问题讨论】:
-
您没有显示
category的分配位置。你的意思是写db.Categories.Add(blog);? -
您的属性
category未设置,这意味着当您将其添加到Categories时它是null。也许您想在添加之前先将分配blog设置为category。
标签: c# entity-framework ef-code-first