Tag: linq

根据一组关键字进行搜索

我需要根据一组关键字进行搜索,这些关键字会返回与这些关键字相关的所有广告。 然后,结果是一个类别列表,其中包含每个类别的广告计数。 搜索在关键字搜索表中进行: public class KeywordSearch { public int Id { get; set; } public string Name { get; set; } public Keyword Keyword { get; set; } } 关键字表的位置是: public class Keyword { public int Id { get; set; } public string Name { get; set; } } 广告与使用下表的关键字相关: public class KeywordAdCategory { [Key] […]

linq的区别?

我想知道如何实现这一目标? 我想从一组对象中只获取不同的名称 MyObject a = new Object(); a.Name = ‘One’; a.Value = ’10’; MyObject b = new Object(); b.Name = ‘One’; b.Value = ’15’; MyObject c = new Object(); c.Name = ‘Two’; c.Value = ’10’; 所以我想只回到这个名字。 在这种情况下,我不关心这个名称的价值。 所以我试过了 //将所有对象添加到集合中。 myCollection.Disinct()..Select(x => new MyClassToStore() {Text = x.Name, Value = x.Name}).ToList()); 但是我需要在属性级别而不是在对象级别进行区分。 所以我要回“一”和“两”。 现在我回来了“一个”,“一个”和“两个”。 我看到一个名为morelinq的库,但我不确定是否应该使用它,因为它仍处于测试阶段,似乎不再开发了。 加上一个提取查询的整个库我不确定它是否值得。

在Linq中使用Expression <Func >包含扩展名

使用以下示例我想在我的Contains方法中使用我的Expression ,让它使用EF将查询传递到sql server。 我怎样才能使这个正常工作? void Main() { IQueryable qry = GetQueryableItemsFromDB(); var filtered = qry.Filter(p=>p.CompanyId); } public static class Ext { public static IQueryable Filter(this IQueryable items, Expression<Func> resolveCompanyIdExpression) { IEnumerable validComps = GetCompanyIdsFromDataBase(); var exp = Expression.Lambda<Func>( Expression.Call(typeof(Queryable),”Contains”, new[] { typeof(Company) }, Expression.Constant(validComps), resolveCompanyIdExpression.Body), resolveCompanyIdExpression.Parameters[0]); return items.Where(exp); } public static IQueryable Filter(this IQueryable items, […]

如何使用Linq表达式树从Span 中获取值?

我想使用Linq表达式树来调用Span的索引器。 代码如下: var spanGetter = typeof(Span) .MakeGenericType(typeof(float)).GetMethod(“get_Item”); var myFloatSpan = Expression.Parameter(typeof(Span), “s”); var myValue = Expression.Call( myFloatSpan, spanGetter, Expression.Constant(42)); var myAdd = Expression.Add( myValue, Expression.Constant(13f)); 然而,此代码失败,因为myValue类型为Single& (aka ref struct )而不是Single (aka struct )。 如何从表达式树中评估Span ?

嵌套tphinheritance成员的ef-core load collection属性

给出以下类结构 public class Parent { public Guid Id { get; public List Children { get; set; } } public abstract class BaseChild { public int Id { get; set; } public string ChildName { get; set; } } public class NormalChild : BaseChild { public DateTime BirthDate { get; set; } } public class RichChild […]

LINQ和AutoMapper

我想知道我能做些什么来让它按预期工作。 这在我的代码中工作正常: var roles = _securityContext.Set(); var roleList = new List(); foreach (var role in roles) { roleList.Add(Mapper.Map(role)); } return roleList; 但改为: var roles = _securityContext.Set(); return roles.Select(role => Mapper.Map(role)).ToList(); 导致我以前没见过的错误: “LINQ to Entities无法识别方法’Security.Dto.RoleDto MapRole,RoleDto’方法,并且此方法无法转换为商店表达式” 我不确定我是否能对这个’问题’做任何事情……可以说无论如何,有效的方法更具可读性……

动态LINQ中的条件

我有一个场景,我必须在LINQ中使用动态where条件。 我想要这样的东西: public void test(bool flag) { from e in employee where e.Field(“EmployeeName”) == “Jhom” If (flag == true) { e.Field(“EmployeeDepartment”) == “IT” } select e.Field(“EmployeeID”) } 我知道我们不能在Linq查询的中间使用’If’但是这个解决方案是什么? 请帮忙…

从LINQ查询结果返回单个属性

以下表达式返回一个联系人 – 与几十个属性的整个联系人。 这很好,但理想情况下,我希望返回只是联系人的id(contact.contactId)属性。 我该怎么做呢? var assocOrg = Contacts.Where(x => x.ContactTypeID == 2 && x.OrganizationName == “COMPANY XYZ”);

如何从不同的数据上下文中连接表?

我有来自两个不同数据上下文的两个表。 虽然两个表都来自同一个数据库,但存在两个独立的数据文件。 错误信息: 该查询包含对在不同数据上下文中定义的项的引用。 我怎么能绕过这个? 任何帮助表示赞赏。 谢谢。

‘var’的目的是什么?

可能重复: var关键字有什么意义? 我不是问它是如何运作的。 我不是在问它是否会影响性能。 我已经知道那些答案了。 我想知道MS C#团队首先将它添加到语言中的原因。 您不会在语言中添加无聊的东西。 一定有一个值得注意的问题。 这是什么问题? 我见过的“它解决的问题”最接近的例子是使用匿名类型时,如下所示: var linqResult = from element in SomeCollection s elect new { element.A, element.B } 具有讽刺意味的是,样式和编码标准指南(如Microsoft提供)建议编码人员避免在结果类型不明显时使用’var’。 换句话说,’var’的(可能)预期目的与编码标准指南相冲突。 如果我正在编写编码标准,并试图防止过度使用’var’,我有点倾向于说“仅使用’var’来响应匿名类型。” 但这带来了问题的全方位:将“var”添加到语言中的目的是什么?