我正在使用ASP.NET Core和Entity Framework Core。我想为用户提供搜索功能,他们可以设置所需结果的数量,例如:
SearchModel
{
public string Name{ get; set; }
public string Phone { get; set; }
public int Count { get; set; }
}
Count
是所需的结果数。
在回复用户的回复中,我想提供以下内容(当然除了实际的结果/行):
这就是我现在所拥有的:
var totalCount = await MyDBContext.FirstEntity.CountAsync();
var filterResult = await (from c in MyDBContext.FirstEntity
join mt in MyDBContext.SecondEntity
on c.SomeID equals mt.SomeID
join l in MyDBContext.ThirdEntity
on mt.OtherID equals l.OtherID
where c.Name.Contains(model.Name)
&& c.Phone.Contains(model.Phone)
select new SomeModel
{
SomeID = c.SomeID,
OtherValue = c.OtherValue,
OtherValue = l.OtherValue
}
)
.Distinct()
.Take(model.Count)
.ToListAsync();
修改此查询的最佳方式是什么?Count()
filterResult
和Take()
部分的所有行以及<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo (string)Mage::helper('checkout/cart')->getAddUrl($_product);?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
部分的相同查询?
有没有办法在单个查询中执行此操作,还是必须执行多个查询才能达到目标?