Kri*_*sen 3 c# asp.net-mvc asp.net-core
只是试图让我@item.BlogCategories.CategoryName
显示类别,但它说没有设置对象.我查了一下DB.这BlogCategoryId
是正确的.如果这是MVC5则不会有问题.MVC核心有什么不同?
它写了@items
正确的其余部分@item.Title
,id等.
NullReferenceException:未将对象引用设置为对象的实例.
<a href="#">@item.BlogCategories.CategoryName</a>
Run Code Online (Sandbox Code Playgroud)
public class BlogItem
{
public int Id { get; set; }
public string Title { get; set; }
[MaxLength(100)]
[Required]
public string BodyText { get; set; }
public string Image { get; set; }
public DateTime DateCreated { get; set; }
public int Views { get; set; }
public string UserId { get; set; }
public virtual ApplicationUser User { get; set; }
public virtual IEnumerable<ImageTag> Tags { get; set; }
public int BlogCategoryId { get; set; }
public virtual BlogCategory BlogCategories { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
private readonly BlogDbContext db;
public HomeController(BlogDbContext context)
{
db = context;
}
#endregion
public IActionResult Index()
{
List<BlogItem> bi = db.BlogItems.OrderByDescending(m => m.DateCreated).ToList();
return View(bi);
}
Run Code Online (Sandbox Code Playgroud)
实体框架核心不进行延迟加载(至少现在还没有),因此您需要明确您需要的子属性.例如:
List<BlogItem> bi = db.BlogItems
.Include(bi => bi.BlogCategory)
.OrderByDescending(m => m.DateCreated)
.ToList();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
33 次 |
最近记录: |