C# 实体框架控制台.为什么我返回的数据计数为 0



你好,我有一个问题。我无法使用实体框架从我的简单控制台应用获取任何数据。本地数据库和表上的数据库已填充。所有名称都是正确的。如果我更改模型类,则会出现错误,这意味着我的实体框架与此数据库连接。你能解释为什么我无法获得任何数据吗? 当应该有 3 行时,Console.WriteLine(baseD.ConsoleEntities.Count());返回 0。

class Program
{
static void Main(string[] args)
{
var baseD = new ConsoleDbContext();
Console.WriteLine(baseD.ConsoleEntities.Count());
Console.WriteLine("Done");
Console.ReadKey();
}
}

public class ConsoleDbContext : DbContext
{
public DbSet<Entity> ConsoleEntities { get; set; } 
}
public class Entity
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}

您需要为 DbContext 指定 ConnString,请尝试以下操作:

public class ConsoleDbContext : DbContext
{
public ConsoleDbContext ()
: base("name=ConsoleDbContext")
{ }
public DbSet<Entity> ConsoleEntities { get; set; } 
}

我明白了! 所以。。我的名为"实体"的模型类更改为"实体",实体是表的名称。为什么?因为实体框架将"s"或"es"添加到"复数表名称约定"的名称末尾。更改修复该测试学习项目的内容是从实体将表的名称更改为实体或禁用实体框架中的复数表名称约定。谢谢你的回答!

最新更新