我有一个集合类,它是
List(Of MyClass)
集合类实现了add、count等
Private lst As List(Of MyClass)
Public Function Count() As Long
Return lst.Count
End Function
我想添加在集合类上执行Linq查询的功能。所以客户端可以这样做:
dim c as New MyCollectionClass
c.Add(New MyClass With {.Name = "XXX"})
c.Add(New MyClass With {.Name = "XXX"
我在存储库中使用了一个自定义类型,它帮助我显式地表示查询选项,例如用于排序、分页等。
最初,接口如下所示:
public class IQueryAction<TEntity> {
IQueryable<TEntity> ApplyTo(IQueryable<T> entitity);
}
这样,我就可以像这样表示排序:
public class SortingAction<TEntity, TSortKey> : IQueryAction<TEntity>
{
public Func<IQueryable<
我对动态表达式查询很陌生.
我想动态地创建一个连接查询。下面是我想要对应的动态查询的查询:
var lstNums = new List<int> { 100, 101 };
var getAll = new StudenRepository().GetAll(); //Returns IQuerable<Student>
var query = getAll.Join(lstNums, a => a.StudentId, b => b, (a, b) => a).ToList();
lstNums可以是任何原始数据类型的列表。
getA
对于一个使用LINQ to Entities 4.0的项目,我有一个设置,在这个设置中,我需要返回一个带有(常量)值的查询。如果我用SQL对它进行编码,它将如下所示:
select 0 as ID, 'default' as Name
union
select ID, Name from X
对于这个项目,我想为IQueryable创建一个通用的扩展方法,它接受一个常量值返回一个查询,并将常量值作为其结果的前缀。该过程不应触发枚举,因为我不希望查询触发数据库命中,除非应用程序中的其他代码实际针对该查询进行枚举。
理想情况下,我希望IQueryable结果可以连接到其他Linq
根据我的理解,在LINQ & Object中,在执行查询之前,可以添加更多表达式。
在本例中,当我尝试执行query1和Query2时,Query2和Query2成为最终查询。我说的对吗?或者我是对的,如果‘数字’是一个DB?
int[] Numbers= new int[] { 1, 2, 3, 4 };
IQueryable<int> Query1 = from X in Numbers.AsQueryable()
where X > 1
有没有办法把Func<IQueryable<TD>, IOrderedQueryable<TD>>转换成Func<IQueryable<TE>, IOrderedQueryable<TE>>?
假设我有Country和CountryModel类。
class CountryModel
{
public string Name {get;set;}
}
class Country{
public string Name{get;set;}
}
class Repo{
public IEnumerable<TD
我刚刚开始在我的MVC web应用程序中使用View & Domain设计,但得到了在哪里执行计算和其他与视图相关的操作的问题。下面我将试着举例说明。
我的领域模型(Linq2Sql)
public class Product
{
public int Id;
public string Name;
}
具有新的UserCount属性的视图模型,我想计算它。
public class ProductViewModel
{
public int Id;
public string Name;
public int UserCount;
}
我的控制器动作看起来就像
p
当SQL查询包含select top 1时,如何创建一个保持延迟执行的LINQ语句?我希望它可以链接到IQueryable<>类型的其他LINQ查询。
var query1 = from t in table
where t.test == 1
select t;
//this should set query2 of type IQueryable<TableEntity>
var query2 = from q in query1
[[SELECT TOP 1 SOMEHOW]]
在使用DTO和EF模型时,我得到了以下错误:
无法转换'System.Collections.Generic.List1[Project.Core.UI.Models.ContentTypes]' to type 'System.Linq.IQueryable1Project.Core.UI.Models.ContentTypes类型的对象
引导:Mapper.CreateMap<ContentType, Project.Core.UI.Models.ContentTypes>();
在OData控制器方法public IQueryable<
我正在创建一个要用于传递给实体框架的查询的IQueryable。我的存储库不公开queryable。
var query = new List<Entity>().AsQueryable().Where(x => x.Property == "argument");
我在我的存储库上有一个方法,它将接受一个IQueryable。
如何使用相同的queryable查询我的DbSet?我正在尝试从可查询对象中提取表达式,以便为dbset构建一个新的表达式。以下是我到目前为止所拥有的,但它不起作用:
public IDbSet<TEntity> DbS
我使用的是一个通用存储库,它公开了如下所示的IQueryable<T>:
public IQueryable<T> AllEntities
{
get
{
return session.Query<T>();
}
}
我可以这样质疑:
var results =
(from e in repository.AllEntities
where e.SomeProperty == "some value"
select e).ToList();
但是,如果T有父实体和祖父母实体,
据我所知,当我在IQueryable上使用LINQ扩展方法(使用lambda表达式语法)时,即在ObjectSet的事实实例中,它们被转换为LINQ to SQL查询。我的意思是这个命令
IQueryable<User> users = db.UserSet;
var users32YearsOld = users.Where(user => user.Age == 32);
完全相同于
IQueryable<User> users = db.UserSet;
var users32YearsOld = from user in users where us
我使用Person类的一个实例在IQueryable<Person>上使用了一个顺序过滤器,运行方式如下:
public IQueryable<Person> FilterPeopleOnPersonCriteria(IQueryable<Person> people, Person p)
{
if (!string.IsNullOrEmpty(p.FirstName))
{
people = people.Where(x => x.FirstName == p.FirstName
如何构造该查询所选择的ViewModels?
var result =
from company in repository.CompanyRepository.Get()
join account in repository.AccountRepository.Get() on company.Uid equals account.UserId
from notice in company.Notices
join request in
repository.RequestRepository.Get() on
notice.SubcategoryId equals requ