我有一个方法:
private static string doGeneric<T>(T DB, string xmlfilename, string headername, string prefix, string xpath)
我称之为:
var res = doGeneric(new cou(), (string)p, "coudata", "cou", "//Cou/Item");
var res = doGeneric(new ttu(), (string)p, "ttuData", "ttu", "//Ttu/Item");
.
.
.
var res = doGeneric(new xxu(), (string)p, "xxuData", "xxu", "//xxu/Item");
cou()
,ttu()
和xxu
是EF框架生成的EF实体(数据库优先)。
在doGeneric
方法中,我有:
using (myEFEntity con = new myEFEntity())
我想做这样的事情:
var cnt = con.DB.Count();
我该怎么做?
答案 0 :(得分:1)
您可以使用DbContext.Set<TEntity>
Method获取给定类型的DbSet
:
返回一个
DbSet<TEntity>
实例,用于访问上下文和底层商店中给定类型的实体。
在您的情况下,您应该能够使用DbSet<T>
内的以下内容动态获取doGeneric<T>
的计数:
using (myEFEntity con = new myEFEntity())
{
var cnt = con.Set<T>().Count();
}