相关疑难解决方法(0)

此代码返回不同的值.但是,我想要的是返回强类型集合而不是匿名类型

我有以下代码:

var foo = (from data in pivotedData.AsEnumerable()
                   select new
                   {
                     Group = data.Field<string>("Group_Number"),
                     Study = data.Field<string>("Study_Name")
                   }).Distinct();
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,这将返回不同 但是,我想要的是返回强类型集合而不是匿名类型,所以当我这样做时:

var foo = (from data in pivotedData.AsEnumerable()
                   select new BarObject
                   {
                     Group = data.Field<string>("Group_Number"),
                     Study = data.Field<string>("Study_Name")
                   }).Distinct();
Run Code Online (Sandbox Code Playgroud)

这不会返回不同的值,而是返回所有值.有没有办法用实际对象做到这一点?

c# linq

15
推荐指数
1
解决办法
3万
查看次数

根据一组关键字进行搜索

我需要根据一组关键字进行搜索,这些关键字会返回与这些关键字相关的所有广告.然后,结果是一个类别列表,其中包含每个类别的广告计数.

搜索在关键字搜索表中进行:

public class KeywordSearch
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Keyword Keyword { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

关键字表的位置是:

public class Keyword
{
    public int Id { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

广告与使用下表的关键字相关:

public class KeywordAdCategory
{
    [Key]
    [Column("Keyword_Id", Order = 0)]
    public int Keyword_Id { get; set; }

    [Key]
    [Column("Ad_Id", Order = 1)]
    public int Ad_Id { get; set; }

    [Key]
    [Column("Category_Id", Order …
Run Code Online (Sandbox Code Playgroud)

c# linq asp.net-mvc entity-framework

12
推荐指数
1
解决办法
1694
查看次数

PredicateBuilder可以生成跨多个表的谓词吗?

我想在Linq语句中动态生成跨多个表跨多个表的谓词.在下面的代码片段中,我想使用PredicateBuilder或类似的构造来替换以下代码中的"where"语句:

更换:

public class Foo
{
    public int FooId;  // PK
    public string Name;
}

public class Bar
{
    public int BarId;  // PK
    public string Description;
    public int FooId;  // FK to Foo.PK
}

void Test()
{
    IQueryable<Foo> fooQuery = null;    // Stubbed out
    IQueryable<Bar> barQuery = null;    // Stubbed out

    IQueryable<Foo> query =
        from foo in fooQuery
        join bar in barQuery on foo.FooId equals bar.FooId
        where ((bar.Description == "barstring") || (foo.Name == "fooname"))
        select foo;
}
Run Code Online (Sandbox Code Playgroud)

有类似的东西:

void …
Run Code Online (Sandbox Code Playgroud)

linq join predicatebuilder

6
推荐指数
1
解决办法
4603
查看次数