4

私は次の方法を持っています: -

public IQueryable<ComponentDefinition> GetProducts(string[] type)
        { return entities.ComponentDefinitions.Where(a => a.ComponentType.COMPONENTTYPENAME.ToLower() == type.ToLower());

        }

しかし、次のようなものを追加する方法がわからないため、where には文字列の配列が含まれます :- :-

public IQueryable<ComponentDefinition> GetProducts(string[] type)
            { return entities.ComponentDefinitions.Where(a => a.ComponentType.COMPONENTTYPENAME.ToLower() == type.ToLower().Any(type));

            }
4

2 に答える 2

1

どうですか:

public IQueryable<ComponentDefinition> GetProducts(string[] type)
            { return entities.ComponentDefinitions.Where(a => type.Contains(a.ComponentType.COMPONENTTYPENAME));}

そうでない場合は、COMPONENTTYPENAME フィールドでコレクションに参加することを検討してください。この場合、ラムダ式よりもlinqクエリの方が理解しやすいことがわかりました

var result = from e in entities.ComponentDefifintion
             join x in type on type.COMPONTENTTYPENAME.ToLower() equals e.COMPONENTTYPENAME.ToLower()
             select x;
于 2013-08-09T08:34:54.717 に答える