使用EntityFramework提取数据时会出现额外的列



当我用EntityFramework从数据库中提取数据时,datagridview有这样的额外列:

额外的列额外列2

My Logs Table Design

下面是我的代码:
var result = db.Logs.ToList();
dgvLogs.DataSource = result;

我的上下文代码:

public class TOKMANContext : DbContext
{
public TOKMANContext() : base("TOKMANConnection")
{
Configuration.LazyLoadingEnabled = false;
}
public DbSet<Records> Records { get; set; }
public DbSet<Users> Users { get; set; }
public DbSet<Status> Status { get; set; }
public DbSet<Brands> Brands { get; set; }
public DbSet<LogTypes> LogTypes { get; set; }
public DbSet<Logs> Logs { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer<TOKMANContext>(null);
base.OnModelCreating(modelBuilder);
}
}

:

public class Logs : TOKMANContext
{
[Key]
public int id { get; set; }
public int typeid { get; set; }
public int userid { get; set; }
public DateTime time { get; set; }
public string description { get; set; }
}

我错过了什么?

您的Logs类继承自TOKMANContext,这意味着它继承了您在TOKMANContext中定义的所有DBSet。这就是为什么你有额外的列。

如果没有其他原因,您可能应该删除Logs中的继承,并将类保留为:

public class Logs
{
[Key]
public int id { get; set; }
public int typeid { get; set; }
public int userid { get; set; }
public DateTime time { get; set; }
public string description { get; set; }
}

相关内容

  • 没有找到相关文章

最新更新