c#ef 3.x fromsqlraw on server视图

sf6xfgos  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(398)

我不知道我做错了什么。但是当我使用fromsqlraw时,当视图包含大量数据时,我似乎“从来没有”得到结果。
我有一个本地sql server,它可以查看链接服务器上的数据库。该视图包含一个从100.000个条目到大约30.000个条目的查询。
在我的代码中

builder.Entity<PpsDashboard.Models.Server.BigDataSetData>().HasNoKey();
builder.Entity<PpsDashboard.Models.Server.SmallDataSetData>().HasNoKey();

我在上下文中有dbset:

public DbSet<xxx> BigDataSetData
{
    get;
    set;
}

public DbSet<xxx> SmallDataSetData
{
    get;
    set;
}

以及两者的模型。
当运行第1行和第2行下面的三行时,可以工作,但是为大数据集获取数据的那一行永远不会返回错误或完成-小数据库包含10个条目:

var items = context.SmallDataSetData.AsQueryable();
var items2 = context.SmallDataSetData.FromSqlRaw("Select TOP 2 * from [dbo].[smallDataBase] where name like 'thomas'").ToList();
var books = context.BigDataSetData.FromSqlRaw("Select TOP 2 * from [dbo].[bigDataBase] where name like 'thomas'").ToList();

当从sqlraw运行时,它会调用对视图的整个调用还是仅仅获取所需的数据?链接服务器的物理位置是世界上另一个地方,在另一个大陆上,所以一般来说获取数据会有一点延迟。
/托马斯

yuvru6vn

yuvru6vn1#

以下内容可以帮助您了解可能导致您找到根本原因的ef后台sql server查询执行:使用某种sql server探查器(sql server内置探查器)或新的azure datastudio探查器。

相关问题