我在数据库中有一个视图。我已经创建了视图模型,并使用EF Core
进行了调用。视图中有16行。当我使用EF Core调用它并使用Take(10)
时,它返回10行,但我看DBSet那里显示的所有行。有关详细信息,请参见我的代码
[Table("my_view", Schema ="dbo")]
public class MyView
{
[Column("id")]
[Key]
public int Id { get; set; }
[Column("name")]
public string Name { get; set; }
}
在我的行动中:
public JsonResult Index()
{
using (var context = new CCContext())
{
var listOfData = context.MyView
.AsQueryable().Take(10).ToList();
return Json(listOfData);
}
}
PS。对于某些问题,我无法上传结果屏幕。(https://m.imgur.com/gallery/xmP3q32)
答案 0 :(得分:7)
如果您的意思是context.MyView
包含所有行,那么您是对的。因为那是数据库中表的表示。但是,在您的示例中,listOfData
仅应包含10行。如果是这样,那么这应该是预期的。
如果以上内容未能回答您的问题,请提供更多的见解,并且您正在使用EF的哪个数据库提供程序?
为澄清起见: 数据不存在,直到您要求调试器(或代码)为您获取数据。看到它的唯一原因是因为您要求调试器显示其内容,并因此获取其内容。如果您不要求它,它就不会。