【发布时间】:2018-01-05 03:16:35
【问题描述】:
我有一个带有 Entity Framework Core 的 MVC 应用程序。当我运行它时它不起作用(我之前可以发誓它工作过),但它在调试时大约有一半的时间起作用。我在设置模型时做错了什么?我按照一步一步的指南进行操作,但现在找不到了。抱歉,如果这是重复的,我找不到合适的搜索关键字来找到类似的内容。
Models/BaseProduct.cs
public abstract class BaseProduct
{
public int Id { get; set; }
public string Brand { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Model { get; set; }
[Display(Name = "Main Image")]
public virtual FileDetails MainImage { get; set; }
public virtual FileDetails AdditionalImages { get; set; }
public virtual FileDetails Downloads { get; set; }
}
模型/FileDetails.cs
public class FileDetails
{
public int Id { get; set; }
public string FileName { get; set; }
public string FileDir { get; set; }
public string FileText { get; set; }
}
Controllers/CompressorController.cs
public async Task<IActionResult> Index()
{
var list = await _context.Compressor.ToListAsync();
foreach (var compressor in list)
{
if (compressor.MainImage == null)
{
FileDetails img = new FileDetails(){FileDir = "", FileName = "NoImage.png", FileText = ""};
compressor.MainImage = img;
}
}
return View(list);
}
所以有时它会在 FileDetails 表上进行连接,有时则不会。 Compressor 表(继承 BaseProduct)有 FileDetails 表的 ID,所以看起来我并没有搞砸太多。
已解决:
问题似乎与 Rider 有关。在 Visual Studio 中运行代码并始终使用它。
【问题讨论】:
-
我想说的是你所想的延迟加载在 2.0.1 版本中不存在,预计在 2.1 中,这些位实际上在 github 中,他们最近发布了关于它们
标签: c# mysql asp.net-mvc entity-framework entity-framework-core