【发布时间】:2020-01-15 22:43:05
【问题描述】:
我正在编写一个只读的网络应用程序,我的意思是从数据库中读取数据并呈现在 UI 中,所以我的 BLL 服务方法主要包括 linq 查询,例如:
return context.SomeLinqQuery
如果我需要一些计算,我会在 Select() 方法中进行,我想知道它是否正确?
另一个问题是 - 在下面的示例查询中编写更好的方法是什么?我想按照良好实践编写代码,我不确定将所有内容放在Select() 中是否是其中之一。
我也想知道,如果在Select() 中调用_context 是否错误。如果是错误的,我该如何解决?我应该在附加循环中加载SomeProperty 吗?
_context.SomeEntity
.Where(some condition)
.Select(x => new MyModel()
{
Id = x.Id,
Name = x.Name,
SomeProperty = x.Status == 1
? _context.DbViewModel.Where(condition).Select...
: _context.AnotherDbViewModel.Where(condition).Select...
});
【问题讨论】:
-
没有错,但您不需要在正确投影的域中这样做
标签: entity-framework linq asp.net-core entity-framework-core