我的项目中有以下方法。
public IEnumerable<T> GetAll()
{
return _context.Set<T>().ToList();
}
然后我的DbContext有了这个..
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Entity<Product>.ToTable("Product");
}
只要“产品”模型在同一个项目中,这样就可以了。
但是,不同的客户端将使用我的DataAccess层,他们将传递不同类型的模型。如何告诉EntityFramework将模型动态绑定到SQL Server中的“表”。
答案 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();
}
}
基本上步骤是......
现在DbSet是一个通用表,您可以在通用回顾中使用。