相关疑难解决方法(0)

流利和查询表达 - 一个优于其他人的利益吗?

LINQ是对.NET以来最伟大的改进之一,它可以节省大量的时间和代码行.但是,对于我来说,流畅的语法似乎比查询表达式语法更自然.

var title = entries.Where(e => e.Approved)
    .OrderBy(e => e.Rating).Select(e => e.Title)
    .FirstOrDefault();

var query = (from e in entries
             where e.Approved
             orderby e.Rating
             select e.Title).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

这两者之间是否有任何区别,或者一方面有什么特别的好处呢?

c# linq

247
推荐指数
8
解决办法
6万
查看次数

.在Linq to Entity中可扩展

在Linq to Entity中,究竟做.AsExpandable()了什么?在哪里以及为何使用它?它是否包含所有相关实体进入延迟加载的查询?

linq lambda entity-framework

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

使用linq和Entity Framework构建嵌套表达式

我正在尝试提供一种基于过滤器返回目录的服务。

我在互联网上看到了一些结果,但是我的问题却还不是。我希望你能帮助我。

问题是此查询版本无法转换为商店表达式:

“ LINQ to Entities无法识别方法'System.Linq.IQueryable'1 [App.Data.Models.Subgroup] HasProductsWithState [Subgroup](System.Linq.IQueryable'1 [App.Data.Models.Subgroup],系统。 Nullable'1 [System.Boolean])方法,并且该方法不能转换为商店表达式。

我如何做到这一点,以便可以将查询转换为商店表达式。请不要提出建议.ToList(),因为我不希望它在内存中运行。

所以我有:

    bool? isActive = null;
    string search = null;

    DbSet<Maingroup> query = context.Set<Maingroup>();

    var result = query.AsQueryable()
                      .HasProductsWithState(isActive)
                      .HasChildrenWithName(search)
                      .OrderBy(x => x.SortOrder)
                      .Select(x => new CatalogViewModel.MaingroupViewModel()
                              {
                                  Maingroup = x,
                                  Subgroups = x.Subgroups.AsQueryable()
                                               .HasProductsWithState(isActive)
                                               .HasChildrenWithName(search)
                                               .OrderBy(y => y.SortOrder)
                                               .Select(y => new CatalogViewModel.SubgroupViewModel()
                        {
                            Subgroup = y,
                            Products = y.Products.AsQueryable()
                                .HasProductsWithState(isActive)
                                .HasChildrenWithName(search)
                                .OrderBy(z => z.SortOrder)
                                .Select(z => new CatalogViewModel.ProductViewModel()
                                {
                                    Product = z
                                })
                        }) …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda expression entity-framework

5
推荐指数
1
解决办法
519
查看次数

LINQ to Entities无法识别方法'Boolean Exists(System.Predicate`1 [Entities.Connection])'方法

我试图创建满足两个条件之一的笔记列表。1.与创建的用户匹配。2.或与连接链接。

使用以下代码将返回异常。我知道对于Linq来说,表达是很常见的。但是我的问题是,可以使用哪些替代方法代替现有方法?

“ LINQ to Entities无法识别方法'Boolean Exists(System.Predicate`1 [Entities.Connection])',并且该方法无法转换为商店表达式。”

_context.Notes
        .Include(t => t.Connections)
        .Where(t => t.CreatedUserId == userId || t.Connections.ToList().Exists(c => c.UserId == userId))
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-entities entity-framework

4
推荐指数
1
解决办法
2012
查看次数

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 to Entities 无法识别方法“Double Parse(System.String)”无法转换为存储表达式 C# asp.net

我尝试按编号订购部门,但由于部门编号作为字符串存储在数据库中,我不能只使用按编号订购。我尝试将其解析为浮点数,但没有奏效。然后我尝试将其解析为 Double。那也行不通。有什么建议?以下是我的代码。

using (var db = new Context())
{
    var datasource = (from x in db.Departments 
                      orderby double.Parse(x.DepartmentNumber) 
                      select x).ToList();
    lvData.DataSource = datasource;
    lvData.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

感谢您的回答,我做了以下操作,但结果并不完全正确。

 var datasource = (from x in db.Departments orderby x.DepartmentNumber select x).ToList().OrderBy(Department => float.Parse(Department.DepartmentNumber));
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

c# sql linq asp.net

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