我正在创建一个通用的xmlRepository,我可以通过任何类型并返回列表。泛型和LINQ到XML
目前我的代码看起来是这样的(只有这样我可以得到它的工作):
public IQueryable<TEntity> GetQuery<TEntity>() where TEntity : class
{
var filename = GetEntityFileName<TEntity>();
var doc = XDocument.Load(filename);
var query = (from p in doc.Descendants(entityName)
select (ServiceAccount)p).AsQueryable().Cast<TEntity>();
return query;
}
我想与
select (TEntity)p).AsQueryable();
换出
select (ServiceAccount)p).AsQueryable().Cast<TEntity>();
实体是与ServiceAccount相同的对象,
LINQ to XML有可能吗?
我有一个SQLRepository,使用EF,具有相同的方法,它和我寻找的LINQ to XML相当于
((IObjectContextAdapter)_context).ObjectContext.CreateQuery<TEntity>(entityName);
如果确实有一个。
当你尝试第二种方法时,你会得到什么类型的错误? – taylonr 2011-05-26 12:37:07
您是否首先使用实体框架代码? – abatishchev 2011-05-26 12:40:33
无法将类型'System.Xml.Linq.XElement'转换为'TEntity'。 我也试过[code] select(typeof(TEntity))p).AsQueryable()。OfType(); –
user771184
2011-05-26 12:42:50