【发布时间】:2017-03-28 05:24:03
【问题描述】:
我正在尝试在我的 ApiController 中实现搜索功能。我要做的是:为客户端创建 api,它将一个字符串作为输入,如 “Nike 2016”。我的 api 应该只返回 “Nike” 品牌 和 “2016” 年 的记录。
下面是我的模型课。 我正在使用实体框架。
class ProductEntity
{
public int Year { get; set; }
public string TAGS { get; set; }
public Dimension Dimension { get; set; }
public int Rating { get; set; }
public string UserId { get; set; }
public string Brand { get; set; }
public double NumberOfFloors { get; set; }
public string CostOfBuilding { get; set; }
}
class Dimension
{
public double length { get; set; }
public double width { get; set; }
}
我尝试在所有列中使用“或”关键字进行搜索,但使用这种方法我担心 api 会非常慢。我想要一种不会影响性能的可扩展方法。
【问题讨论】:
-
您的数据库中有品牌和年份的索引吗?
-
@Vecchiasignora 没有。我刚刚创建了这两个类。有必要吗?
-
是的,如果您的表中有大数据,如果没有品牌和年份的任何索引,它会很慢
-
在你的例子中会有'and'而不是'or'
-
@Vecchiasignora 创建索引。是的,我需要'and'关键字。你能举个简单的例子吗?这将非常有帮助。
标签: c# entity-framework linq asp.net-web-api ef-code-first