ASP.NET MVC如何在多个条件下使用DbSet

时间:2015-10-18 11:10:27

标签: asp.net-mvc entity-framework dbcontext dbset

我在ASP.NET MVC中有一个Person模型,我正在使用DbContext,我有 这个模型的DbSet。 我有名字,姓氏,昵称字段。 我想知道如何使用几个条件选择具有DbSet的人。

如果是SQL,我想这样做:

select * from persons where firstName like '%something%' and
lastName like '%something%' and
nickName like '%something%';

如何使用DbSet进行操作? 我有下一个代码:

    public ActionResult SearchPerson([Bind(Include = "Id,FirstName,LastName,NickName")] Person person)
    {
        DbSet<Person> result = db.Persons;
        if (!String.IsNullOrEmpty(person.FirstName))
        {
            result.Where(x => x.FirstName.Contains(person.FirstName));
        }

        if (!String.IsNullOrEmpty(person.LastName))
        {
            result.Where(x => x.LastName.Contains(person.LastName));
        }

        if (!String.IsNullOrEmpty(person.NickName))
        {
            result.Where(x => x.NickName.Contains(person.NickName));
        }

        return View(result.ToList());
    }

似乎没有AND子句或任何WHERE子句之间 条件和结果.ToList()给出了DB的所有结果。 有什么帮助吗?

0 个答案:

没有答案