我想要一些专家的建议.以前我使用过编译的查询,但对于这种特殊情况,我不知道是否合适.
static Func<DBContext,int,IQueryable<Foo>> Search = CompiledQuery.Compile( (DBContext db,int ID) => db.Person .Where(w => w.LocationID = ID) .Select(s => new Foo { Name = s.PersonName,Age = s.Age,Location = s.LocationName,Kin = s.Kin }));
现在如果有人填写搜索框,我想通过在查询中添加另一个Where语句来扩展查询:
var query = Search(context,123); query = query.Where(w => w.Name.Contains(searchString));
所以我的问题是,是否返回所有结果,其中LocationID == 123,然后检查一个searchString匹配的结果?还是实际扩展编译查询?
如果是前者(我怀疑它是),应该废弃CompiledQuery,只需创建一个扩展查询的方法,然后将其作为列表返回;
此外,CompiledQuery使用的最佳做法是什么?是否应该使用它们的准则?
注意:我在ASP.NET网站中使用了以上的Linq to sql.不知道是否有所作为.
谢谢
解决方法
原文地址:https://www.jb51.cc/csharp/95848.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。