我正在将Entity Framework 4.1与存储库模式一起使用(数据库已存在)。
我的问题是存在名为GROUP(保留)的表。这是生产数据库,我无法更改。

因此,使用上述所有这些技术,我得到以下错误:

“组”是保留的关键字,除非被转义,否则不能用作别名。

是否可以告诉Entity Framework使用以下作为表名:
[团体]

编辑
具有db上下文的类如下所示(向下精简)

 public class AMTDatabase : DbContext
    {

      private IDbSet<GROUP> _Groups;
      public IDbSet<GROUP> Group
      {
        get { return _Groups ?? (_Groups = DbSet<GROUP>()); }
      }


    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
      base.OnModelCreating(modelBuilder);
      modelBuilder.Entity<GROUP>().ToTable("GROUP");
    }
    //etc
    }

提前致谢

最佳答案

好吧,这似乎很奇怪,但是请注意上面的属性名称:名称是Group,它应该显示为Groups!这就是我收到此错误的原因。更正后的代码如下:

private IDbSet<GROUP> _Groups;
        public IDbSet<GROUP> Groups
        {
            get { return _Groups ?? (_Groups = DbSet<GROUP>()); }
        }

现在像魅力一样工作!

10-08 14:03