ASP.基于方法的LINQ查询的SQL数据库作为IEnumerable对象 &



我试图查询数据库的所有记录到一个IEnumerable对象。以下是相关代码:

Db上下文片段

namespace WebApplicationTemp.Data
{
public class CSVMetaDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
var connectionString = string.Format(@"Data Source=source;Initial Catalog=CSVMetaDb;Integrated Security=True;MultipleActiveResultSets=True");
options.UseSqlServer(connectionString);
}
public DbSet<CSVMeta> CSVMetas { get; set; }
}
}
<<p>Startup.cs片段/strong>
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<CSVMetaDbContext>();
}
<<p>控制器片段/strong>
private readonly CSVMetaDbContext _db;
public CSVController(ICSVService csvService, CSVMetaDbContext db)
{
_csvService = csvService;     //Can be ignored, for other applications using IService Interface
_db = db;
}
public IActionResult Database()
{
IEnumerable<CSVMeta> objList = _db.CSVMeta;
return View(objList);         //Razor View not created yet due to error
}

Model工作,并包含Microsoft SQL Server Management Studio所需的数据。

但是,_db.CSVMeta包含以下错误:

Error   CS1061  'CSVMetaDbContext' does not contain a definition for 'CSVMeta' and no accessible extension method 'CSVMeta' accepting a first argument of type 'CSVMetaDbContext' could be found (are you missing a using directive or an assembly reference?)

我可以检查一下如何解决这个问题吗?

看起来像打字错误:集合名称是CSVMetas:

IEnumerable<CSVMeta> objList = _db.CSVMetas; 

我想这是一个打字错误。在你的db上下文类中,属性被命名为CSVMetas,但在你的控制器中,你调用_db.CSVMeta。您缺少一个s

最新更新