How to reuse where clauses in Linq To Sql queries

前端 未结 4 1420
谎友^
谎友^ 2020-12-08 22:35

I have users searching records of type Record. They type a search term in a textbox and then I search records by matching several fields with the search term.

My que

4条回答
  •  爱一瞬间的悲伤
    2020-12-08 23:15

    Use a CompiledQuery!

    var filter = CompiledQuery.Compile(
        (DatabaseDataContext dc, Record record, string term) =>
            record.Field1.ToLower().Contains(term) ||
            record.Field2.ToLower().Contains(term) ||
            record.Field3.ToLower().Contains(term)
    );
    
    var results = from record in DataContext.Records
                  where filter(DataContext, record, term)
                  select record;
    

    For more information, see How to: Store and Reuse Queries.

提交回复
热议问题