Entity Framework Large where语句具有多个值类型

时间:2017-11-15 15:35:54

标签: c# entity-framework

我希望在我的服务器中实现一个使用Entity Framework的搜索功能,现在我已经将它用于搜索我想要的字段而不是我的生日字段。

我的where语句看起来很恶心,有点meh,我似乎无法找到|所有语句的正确方法然后要求如果搜索日期正确解析并使用它。

当我的搜索参数为"11/06/1996"时,我知道有一些记录与其出生日期具有相同的日期时间。

.Contains()是在SQL中执行LIKE语句的正确方法吗?

查询:

var didParseDate = DateTime.TryParse(filter.SearchTag, out DateTime specialSearch);

                    var dateSearch = didParseDate ? specialSearch.ToString() : filter.SearchTag;

                    allCompanyRecords = DB.ClientMaster.GetCompanyRecords(_usersInCompany)
                        .Where(database=>
                               database.FirstName.Contains(filter.SearchTag)            |
                               database.LastName.Contains(filter.SearchTag)             |
                               database.MciNumber.ToString().Contains(filter.SearchTag) |
                               database.MaNumber.ToString().Contains(filter.SearchTag)  |
                               database.MiddleInitial.Contains(filter.SearchTag)        |
                               database.Address1.Contains(filter.SearchTag)             |
                               database.Address2.Contains(filter.SearchTag)             |
                               database.City.Contains(filter.SearchTag)                 |
                               database.State.ShortName .Contains(filter.SearchTag)     |
                               database.State.LongName.Contains(filter.SearchTag)       |
                               database.Gender.Name.Contains(filter.SearchTag)          |
                               ((didParseDate == true) && (database.Birthdate == specialSearch))
                               );

0 个答案:

没有答案