EF使用一个DBContext处理两个表

时间:2018-03-01 13:59:20

标签: c# sql-server database entity-framework

我有两个SQL Server表完全相同,Table1Table2Table1有3个数据,Table2有1个数据。我有一个DBContext类,

public class DbModelContext : DbContext
    {
        private readonly string _tableName;

        public DbModelContext(string tableName)
            : base("name=TestXEntities")
        {
            _tableName = tableName;
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<DbModel>().ToTable(_tableName);

            base.OnModelCreating(modelBuilder);
        }

        public virtual DbSet<DbModel> Tests { get; set; }
    }

我尝试使用此代码

查找总数据大小c
    var context1 = new DbModelContext("Test1");
    var a = context1.Tests.Count();

    var context2 = new DbModelContext("Test2");
    var b = context2.Tests.Count();

    var c = a + b;

当我运行此操作时,我得到c = 6ab都等于Table1的计数。如果我替换上面代码中的字符串Test1Test2,那么c = 2ab都等于Table2的数量) 。但是,在这两种情况下,我都希望获得c = 4。似乎总是考虑第一个表的名称。

这段代码有什么问题?我该怎么办才能获得c = 4

感谢您的阅读和帮助。

0 个答案:

没有答案