1

私のコード:

public List<Book> GetBook(string NameField, object Value)
    {
        var queryESQL = @"select VALUE Book from Book
                 where Cast(Book." + NameField + " as string) like '%M%'";
        var query = this.Entities.CreateQuery<Book>(
                  queryESQL);
        return query.ToList();
    }

エラー :

タイプ「文字列」が見つかりませんでした。必要なスキーマがロードされ、名前空間が正しくインポートされていることを確認してください。タイプ名の近く、2 行目、51 列目。

アップデート :

新しいコード:

public List<Book> GetBook(string NameField, object Value)
    {
        var queryESQL = @"select VALUE Book from Book
                 where Cast(Book." + NameField + " as EDM.string) like '%M%'";
        var query = this.Entities.CreateQuery<Book>(
                  queryESQL);
        return query.ToList();
    }

エラー :

Type 'EDM.string' could not be found. Make sure that the required schemas are loaded and that the namespaces are imported correctly. Near type name, line 2, column 51.
4

2 に答える 2

8

このCreateQuery<>メソッドは、EDM 型ではなく CLR 型を使用するため、System.String代わりにEDM.Stringクエリで使用します。

于 2011-11-17T03:33:26.630 に答える
2

キャスト時Edm.Stringの代わりに使用。string

于 2011-08-25T08:28:33.493 に答える