У меня есть следующий код:Могу ли я получить string.Contains для возврата false?
string s = "123,12346";
bool b = s.Contains("1234");
Вышеприведенные возвращает истинное, но есть способ вернуть ложь. Я уже сделал что-то вроде:
string[] s = {"123","12346"};
bool b = s.Contians("1234");
Вышеперечисленные работы, но я не могу использовать выше в содержит выражение с LINQ-To-Entities
, потому что не нравится Содержит в pre EF 4.0
.
У меня есть метод расширения, который ведет себя как п SQL IN
, но мне нужно явно ввести параметры, когда я использую его, я не уверен, что положить в скобках:
predicate = predicate(x=> WhereIn<>(x.Id, Ids));
x.Id is a string and Ids is a string
а , Если я ставлю WhereIn<string,string>
, он жалуется, что Argument type string is not assignable to parameter type ObjectQuery<string>
predicate
происходит от PredicateBuilder
: http://www.albahari.com/nutshell/predicatebuilder.aspx
Схема базы данных, очевидно, нужно исправить. «x, y, z» в одном столбце неверно. – Jon
Вы не хотите, чтобы string.Contains возвращал false. Вы хотите дать более точное описание того, что вы на самом деле надеетесь достичь. string.Contains возвращает false, не так ли. –
Я не проголосовал, но, возможно, вам следует пояснить, почему «123,12346» должен возвращать false. Должен ли он возвращать true только в случае «123,1234»? –