1

次のコードを実行しようとしたとき。

var result = from c in db.brand
             where c.title.contains("test")
             select c.title + "-" +c.brand;

List<string> lst = r.ToList();

次のエラーが発生します。

LINQ to Entitiesは、メソッド'System.String ToString()'メソッドを認識せず、このメソッドをストア式に変換できません。

4

3 に答える 3

6

タイトルとブランドを匿名タイプでフェッチしてから、文字列の連結を処理中に実行することをお勧めします。

var list = db.Brand.Where(c => c.Title.Contains("test"))
                   .Select(c => new { c.Title, c.Brand })
                   .AsEnumerable() // Rest of the query in-process
                   .Select(x => x.Title + " " + x.Brand)
                   .ToList();
于 2012-04-09T09:07:23.713 に答える
1

これを試して:

var result = from c in db.brand where c.title.contains("test") select c;
var finalResult = result.ToList().Select(ss=> ss.title + "-" + ss.brand);
于 2012-04-09T09:07:55.243 に答える
-1

試す:

var result = from c in db.brand where c.title.contains("test") select new { c.title + "-" +c.brand }
于 2012-04-09T09:08:55.557 に答える