参考上一篇文章(Entity Wrapper - Custom),我仍然有一些关于通用查询检索公共字段的困难。
我有一个简单的界面,只有一个字段。我的所有实体都继承自我的接口。然后我有一个封装我的objectContext类型的类。好了,现在我需要执行一个linq查询来获得我的IQuerable对象。以下代码片段在构建时出错:
public IQueryable<T> GetQuery<T>() where T : IEntity
{
var query =
GetObjectSetSomehow; //problem: I don't know the objectSet type here!!
return query.Where(p => p.field == "...");
}但尤其是我的问题是不可能从IQuerable where T: MyInterface转换到ObjectSet
如有任何建议,我们将不胜感激。
发布于 2011-04-01 23:11:56
也许ObjectContext.CreateObjectSet Method能帮到你。正如MSDN所说,方法
创建一个新的ObjectSet实例,用于查询、添加、修改和删除指定实体类型的对象。
public static IQueryable<T> Create<T>(ObjectContext context) where T : class, IEntity
{
var query = context.CreateObjectSet<T>().AsQueryable();
return query.Where(x => true);
}https://stackoverflow.com/questions/5515165
复制相似问题