Tag: iqueryable

IQueryable to ObservableCollection 其中a =匿名类型

我希望将listview的datacontext绑定到可观察的集合。 现在我有: // CurrentEmploye = some employee Entities.DatabaseModel m = new Entities.DatabaseModel(); var q = from t in m.TimeSheet join emp in m.Employees on t.idEmployee equals emp.id where emp.id == CurrentEmploye.id select new { firstName = emp.firstName, lastName = emp.lastName, position = emp.position, clockInDate = t.clockInDate, clockOutDate = t.clockOutDate, }; listView1.DataContext = q; 该代码正确填充列表视图。 现在,每当我更新listview项时,我都想更新listview。 […]

两个或更多属性的IQueryable订单

我目前正在使用IQueryable OrderBy方法订购自定义对象列表,如下所示: mylist.AsQueryable().OrderBy(“PropertyName”); 现在我希望按不止一个属性进行排序。 有没有办法做到这一点? 谢谢,雅尼斯

将OData Queryable与存储库一起使用?

我有这个存储库方法: public IQueryable GetAll() { using (var context = new DatabaseContext()) { return context.Set().AsQueryable(); } } 无论如何, TModel是一个艺术家模型 然后我在我的控制器中执行此操作: // GET api/artist [Queryable] public IQueryable Get() { return _repo.GetAll().AsQueryable(); } 现在..如果我要更改存储库方法以返回List并为我的结果添加.ToList ..那么这将很有效。 但是无论OData查询是什么,我都会首先执行“获取所有查询”…将它们转换为列表,然后我将针对该列表执行我的OData查询。 这似乎是完全错误的..我想要做的是确保OData查询在我尝试从数据库中获取数据的同时执行..所以我只得到与查询匹配的非常具体的结果..而不是后来被查询的大量数据.. 现在我有问题, DbContext在使用之外被处理掉了..但是我仍然需要关闭DbContext以及一些地方,一些如何… 有任何想法吗?

执行IQueryable查询的一部分并将其余部分推迟到Linq for Objects

我有一个Linq提供程序,它成功地从我选择的数据源获取数据,但是我现在想要做的是我有我的过滤结果集,允许Linq to Objects处理表达式树的其余部分(对于像Joins这样的东西,投影等) 我的想法是,我可以通过ExpressionVisitor将结果集IEnumerable替换为包含我的IQueryProvider的表达式常量,然后返回该新表达式。 还从我的IQueryable返回IEnumerable的提供程序…但这似乎不起作用:-( 有任何想法吗? 编辑:这里有一些很好的答案,但给出的forms…… var qry = from c in MyProv.Table() Join o in MyProv.Table() on c.OrderID equals o.ID select new { CustID = c.ID, OrderID = o.ID } 在我的提供者中,我可以轻松地从客户和订单中获取2个结果集,如果数据来自SQL源,我将构建并传递SQL Join语法,但是这种情况下数据不是来自SQL源,所以我需要在代码中进行连接…但正如我所说,我有2个结果集,而Linq to Objects可以进行连接……(以及后来的投影)只需替换表达式常量MyProv.Table和MyProv.Table with List和List ,让List提供程序处理表达式……这可能吗? 怎么样?

访问IQueryable后面的DataContext

是否可以访问IQueryable后面的DataContext对象? 如果是这样,怎么样?

IQueryable C#选择

这是我的代码……但我需要只选择列才能在我的Datagridview中显示。 我需要代码只选择一些列..例子 Select{t => t.usu_Login, t => t.usu_Login} public List Get(FilterDefinition filter) { var contexto = new indNET_Entities(); IQueryable Consulta = contexto.tb_usuario.AsQueryable() .Where(t => t.usu_Ativo == 1) .OrderBy(t => t.usu_Login); return Consulta.ToList(); }

无法将类型’System.Linq.IQueryable ‘隐式转换为’int?’

var cityList = from country in doc.Element(“result”) .Element(“cities”) .Descendants(“city”) select new { Name = country.Element(“name”).Value, Code = country.Element(“code”).Value, CountryCode = int.Parse(country .Element(“countrycode”) .Value) }; foreach(var citee in cityList) { City city = new City(); city.CountryID = from cnt in db.Countries where cnt.DOTWInternalID == citee.CountryCode select cnt.ID; } 我在第二个查询中收到错误,如本文标题所示。 我尝试将int转换为nullable int但没有任何效果。 帮我,伙计们。 谢谢

LINQ到实体的投射问题

我试图以通用方式过滤LINQ到实体的查询,但我一直收到错误。 这是一段代码: private IQueryable FilterDeletedEntities(IQueryable entities) { if (typeof(IDeletable).IsAssignableFrom(typeof(T))) { var deletableEntities = (IQueryable)entities; deletableEntities = deletableEntities.Where(entity => !entity.Deleted); entities = (IQueryable)deletableEntities; } return entities; } 基本上我正在尝试过滤掉已删除的实体(即’已删除’字段为’true’),当且仅当实体是IDeletable时(即它具有’已删除’字段)。 问题是我无法将IQueryable 转换回IQueryable 。 有想法该怎么解决这个吗? 在你问之前:是的,这种方法必须是通用的。 提前致谢!

“Where”方法不能遵循“选择”方法或不支持

我为什么得到: “Where”方法不能遵循“选择”方法或不支持。 尝试根据支持的方法编写查询,或在调用不支持的方法之前调用’AsEnumerable’或’ToList’方法。 …使用WHERE子句时,比如调用时: XrmServiceContext.CreateQuery().Project().To().Where(p => p.FirstName == “John”).First(); ? 这有效: XrmServiceContext.CreateQuery().Project().To().First(); 这也有效: XrmServiceContext.CreateQuery().Where(p => p.FirstName == “John”).First(); 我正在使用AutoMapper QueryableExtension 。 附加信息: 我不想在Where子句之前调用ToList()。 我知道它会这样运作。 CreateQuery()返回IQueryable 。

LINQ:如何从IQueryable 中删除元素

你如何循环IQueryable并删除一些我不需要的元素。 我正在寻找这样的东西 var items = MyDataContext.Items.Where(x => x.Container.ID == myContainerId); foreach(Item item in items) { if(IsNotWhatINeed(item)) items.Remove(item); } 可能吗? 提前致谢