Entity Framework, соответствующий подмножеству int - PullRequest
2 голосов
/ 16 июля 2011

Я выполняю поиск, в котором я хотел бы частично сопоставить первичный ключ объекта.Например, если бы я искал «123», он вернул бы сущности, которые имеют первичные ключи, такие как:

  • 12345
  • 67123
  • 91234

Если бы это была строка, я бы атаковал ее так:

    public PartialViewResult QuickSearch(string searchTerm)
    {
        var results = db.MyEntities.Where(x => x.myProperty.Contains(searchTerm));
        return PartialView("QuickSearch_Results", results);
    }

Однако я не знаю, как лучше сделать это для int.Я ищу что-то вроде этого:

    public PartialViewResult QuickSearch(int id)
    {
        var results = db.MyEntities.Where(x => x.myPropertyId.Contains(int));
        return PartialView("QuickSearch_Results", results);
    }

Но, очевидно, содержит не правильный путь.Каков будет правильный способ реализации этого?

Ответы [ 2 ]

4 голосов
/ 16 июля 2011

Абсолютно дикое и непроверенное предположение с использованием метода StringConvert :

public PartialViewResult QuickSearch(int id)
{
    string sId = id.ToString();
    var results = 
        from x in db.MyEntities
        where SqlFunctions.StringConvert((double)x.myPropertyId)
                          .Contains(sId)
        select x;
    return PartialView("QuickSearch_Results", results);
}
0 голосов
/ 16 июля 2011
db.MyEntities.Where(x => x.myPropertyId.ToString().Contains(id.ToString()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...