标签: linq

如何对拥有者==当前用户的实体计数进行LINQ查询?

我正在使用Microsoft Dynamics CRM 2011和ADX Studios。我正在其中一个页面上尝试制作一个小部件,该小部件将显示用户的当前潜在客户数量。我想执行一个LINQ查询,该查询选择潜在客户的数量,其中CRM数据库中潜在客户实体的所有者等于当前用户。我是LINQ的新手,所以我仍在尝试了解查询的语义。到目前为止,我下面的代码可以吸引所有潜在客户。我不太确定如何在“ where”子句中工作,该子句检查所有者ID是否等于当前用户的所有者。

count = context.LeadSet.ToList().Count();
Run Code Online (Sandbox Code Playgroud)

c# linq dynamics-crm-2011

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

为什么实体框架.ToList()与.Include非常慢,我怎样才能加快速度?

我正在使用EF4查询oracle数据库.

我有2个表POINTS(大约100 000行)COUNTRIES,每个点都有一个countryCode外键

我在存储库中有以下2个方法

public List<PointsTable> GetAll()
{
    using (Entities context = new Entities())
    {
        List<PointsTable> theList = context.POINTS_TABLE.ToList();
        return theList;
    }
}

public List<PointsTable> GetAllComplete()
{
    using (Entities context = new Entities())
    {
        List<PointsTable> theList = context.POINTS_TABLE.Include("Countries").ToList();
        return theList;
    }
}
Run Code Online (Sandbox Code Playgroud)

GetAll需要5秒,但在GetAllComplete需要2分钟!

我使用AsParallel()但收益很荒谬.

我可以加快速度,或者是什么导致它变慢?

c# linq asp.net-mvc entity-framework entity-framework-4

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

使用c#在数据库调用上出现System.String ToString()错误

我遇到了一些我的代码.我有一个控制器,我打电话从我的数据库中检索公司列表.但是,当我测试它时,我得到一个错误,指出状态:LINQ to Entities无法识别方法System.String ToString()方法,并且此方法无法转换为存储表达式.

我似乎无法找到解决这个问题的方法,并且有人建议我使用foreach循环.

public List<SelectListItem> GetCompanyList()
{
    using (var ctx = new Risc_Track_beEntities())
    {
        var companies = ctx.tblCodeBrokerComps.Where(comp => comp.BrokerCompStatus == 1);
        var activeBrokerLocs = companies.Select(b => new SelectListItem
        {
            Value = b.BrokerCompID.ToString(),
            Text = b.BrokerComp
        });
        return activeBrokerLocs.ToList<SelectListItem>();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# linq

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

VB.NET排序IEnumerable类

我想对一个实现IEnumerable的VB类进行排序.我不想要一个新对象/ linq.它必须保留为原始对象但已排序.这是一个示例类.

Public Class Person
    Public Sub New(ByVal fName As String, ByVal lName As String)
        Me.firstName = fName
        Me.lastName = lName
    End Sub

    Public firstName As String
    Public lastName As String
End Class

Public Class People
    Implements IEnumerable(Of Person)

    Private _people() As Person

    Public Sub New(ByVal pArray() As Person)
        _people = New Person(pArray.Length - 1) {}

        Dim i As Integer
        For i = 0 To pArray.Length - 1
            _people(i) = pArray(i)
        Next i
    End Sub

    Public Function GetEnumerator() As IEnumerator(Of …
Run Code Online (Sandbox Code Playgroud)

.net linq vb.net sorting ienumerable

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

LINQ to SQL引擎盖下

我知道这是之前部分问过,但没有一个问题完全回答这个问题.

当使用LINQ to SQL从数据库中检索数据时会发生什么?

我读过以下问题:

我不清楚的是:访问数据库的时间点是多少?查询何时运行?

如果我运行以下查询,它将如何转换为SQL查询?

    DatabaseDataContext db = new DatabaseDataContext();
    var users = from x in db.Users 
                where x.Rank > 10 
                orderby x.RegistrationDate descending
                select x)
                .Skip(pageIndex * recordCount)
                .Take(recordCount);
Run Code Online (Sandbox Code Playgroud)

再后来,如果我尝试访问某些用户的某些属性,如何查询构造(这部分是回答在这里)?

var temp = users.ToList()[0].SomeProperty;
Run Code Online (Sandbox Code Playgroud)

基本上,我真正想知道的是LINQ to SQL如何在底层工作,如何从C#语言语句到SQL以及如何优化它.

c# sql linq performance linq-to-sql

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

Linq to Entities"无法识别方法...方法,并且此方法无法转换为商店表达式."

我有个问题.我在Visual Studio中创建了一个数据实体模型.在林克;

Guid RtuDataId = db.RtuData.Where(x => x.CommunicationUnit.Id == new Guid(ID))
    .OrderByDescending(x => x.ReadOn)
    .LastOrDefault().Id;
Run Code Online (Sandbox Code Playgroud)

我得到错误;

无法识别方法...方法,并且此方法无法转换为商店表达式.

我在谷歌搜索但我不明白这个错误.

c# linq database ado.net-entity-data-model

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

LINQ包含在一对多的.Where()不工作?

我正在尝试查询用户,包括每个用户的兴趣,但仅限于兴趣符合特定条件的情况:

  return db.Users.Include(u => u.Interests.Where(s => s.TenantId == tenantId))
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

Include路径表达式必须引用在类型上定义的导航属性.使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性.

我玩的想法是把外面的东西推到外面,但却无法让它发挥作用.

c# linq asp.net entity-framework

3
推荐指数
2
解决办法
2029
查看次数

满足给定条件的元素索引

我正在寻找一个linq表达式,它是FindIndex方法的扩展.它只返回第一个索引.我希望列表中的所有索引满足条件.

例如:

var indx = myList.FindIndex(x => (x <= -Math.PI / 3) || (x >= Math.PI / 3));
Run Code Online (Sandbox Code Playgroud)

c# linq list

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

使用linq在列表中搜索字符串

我有一份清单 List<string> Rank

列表中的项目排名是

"FF"
"ABC"
"CC"
"FF"
"FF"
Run Code Online (Sandbox Code Playgroud)

我想要一个linq查询返回值,如果存在及其计数,假设如果我搜索"FF"然后它应该返回

value: ff
count: 3
Run Code Online (Sandbox Code Playgroud)

目前我正在使用此查询来查找匹配项

var match = Rank.FirstOrDefault(s => s.Contains("FF"));
Run Code Online (Sandbox Code Playgroud)

并且此查询将相同的值分组并为其分配计数.

var f = Rank.GroupBy(x => x).Select(g => new { Value = g.Key, Count = g.Count() });
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它返回给我完整列表,它看起来像where子句没有

var f = Rank.GroupBy(x => x).Select(g => new { Value = g.Key, Count = g.Count() }).Where(s => Rank.Contains("FF"));
Run Code Online (Sandbox Code Playgroud)

任何人都可以知道为什么第三个查询不起作用?

c# linq

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

更新列表的单列而不使用Foreach循环

我有一个 List

List<Myclass> li = new List<Myclass> ();
Run Code Online (Sandbox Code Playgroud)

这里Myclass

public class Myclass
{
    public string ExamName { get; set; }
    public Nullable<decimal> Marks { get; set; }
    public Nullable<decimal> OutOfMarks { get; set; }
    public string GradeMarks { get; set; }
    public Nullable<decimal> markEaxmTotalOverAll { get; set; }
    public Nullable<decimal> MarksExamTotalMarksTypeWise { get; set; }
    public Nullable<decimal> MarksExamOutOfMarksTotalOverAll { get; set; }
    public Nullable<decimal> MarksExamOutOfMarksTotalMarksTypeWise { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

li包含近10000个项目
我想markEaxmTotalOverAll在所有10000个项目中将值设置为50
但不想用循环来做,有没有办法更新它,我试过这个代码

li.Select(s => { …
Run Code Online (Sandbox Code Playgroud)

c# linq select list

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