以下代码抛出异常“ EntitySqlException: 'Group' 是保留关键字,不能用作别名,除非它被转义。靠近第 1 行,第 11 列”。
我的问题首先是为什么我在数据上下文中选择的集合名称与生成的 sql 查询之间存在任何关系?
其次,除了在我的上下文中重命名属性之外,我能做些什么来解决它(我知道这个名字很愚蠢,有一些原因我不能改变这个名字,就像我想的那样,我赢了'不要进入这里)?
有什么我可以用模型构建器做的吗?
public class GroupEntity
{
public int GroupEntityId { get; set; }
public string Name { get; set; }
}
public class MyContext : DbContext
{
public MyContext(string nameOrConnectionString)
: base(nameOrConnectionString)
{
Group = Set<GroupEntity>();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<GroupEntity>().ToTable("GroupEntities");
base.OnModelCreating(modelBuilder);
}
public DbSet<GroupEntity> Group { get; private set; }
}
//...
using (var ctx = new MyContext("valid connection string"))
{
var e = ctx.Group.Count(a => a.GroupEntityId % 2 == 0);
// Exception thrown here
Console.WriteLine(e);
}