实体框架地图模型到表

时间:2017-03-07 20:12:39

标签: entity-framework c#-4.0

我的项目中有以下方法。

    public IEnumerable<T> GetAll()
    {
        return _context.Set<T>().ToList();
    }

然后我的DbContext有了这个..

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {

              Entity<Product>.ToTable("Product");

        }

只要“产品”模型在同一个项目中,这样就可以了。

但是,不同的客户端将使用我的DataAccess层,他们将传递不同类型的模型。如何告诉EntityFramework将模型动态绑定到SQL Server中的“表”。

1 个答案:

答案 0 :(得分:0)

我可以通过执行以下操作来解决此问题。

public class Repository<T> : DbContext, IRepository<T> where T : BaseModel
{

    public DbContext _context { get; set; }
    public DbSet<T> _dbSet { get; set; }

    public Repository(string con)
        : base(con)
    {

    }

    public IEnumerable<T> GetAll()
    {
        return _dbSet;
    }

    public void Add(T entity)
    {
        _dbSet.Add(entity);
        _context.SaveChanges();
    }


}

基本上步骤是......

  • 甲。类必须继承DbContext。
  • DbSet的通用属性。

现在DbSet是一个通用表,您可以在通用回顾中使用。