我有这样的声明:
var vals =
from StandAloneUserPayment saup in _Session.Query<StandAloneUserPayment>()
.Fetch(x => x.RecurringPayments)
where
saup.User.UserId == userId
&& searchString.Contains(saup.FriendlyName, StringComparer.InvariantCultureIgnoreCase)
select
saup;
这似乎正是我应该做的,但是我用
Contains
方法获得了整行,并在下面的消息下划线:我究竟做错了什么?
最佳答案
试试IndexOf
:
searchString.IndexOf(saup.FriendlyName,
StringComparison.InvariantCultureIgnoreCase) != -1
之所以不起作用,是因为接受
Contains
的IEqualityComparer<TSource>
扩展方法是在String
上操作的,该方法实现了IEnumerable<char>
,而不是IEnumerable<string>
,因此无法将string
和IEqualityComparer<string>
传递给它。