1

指定されたコードでいくつかのフィールドを連結しようとしています。文字列フィールドでのみ機能しますが、int フィールドを連結するとエラーが発生します。

var query = (from u in db.IdFormat
                 select new
                 {
                     IdPre = u.IdPrefix + "" + u.IdDMY + "" + u.IdSeparator + "" + u.Sequence.ToString() 

                 }).FirstOrDefault();



public class IdFormat
{
    public int Id { get; set; }
    public String IdPrefix { get; set; }
    public string IdDMY { get; set; }
    public string IdSeparator { get; set; }
    public int IdSequence { get; set; }      
}

しかし、「LINQ to Entities はメソッド 'System.String ToString()' メソッドを認識しないため、このメソッドはストア式に変換できません」というエラー メッセージが表示されます。

私を助けてください。前もって感謝します。

4

2 に答える 2

0

LintToObject _db.IdFormat を使用します。AsEnumerable() :

var query = (from u in db.IdFormat.AsEnumerable()
                 select new
                 {
                     IdPre = u.IdPrefix + "" + u.IdDMY + "" + u.IdSeparator + "" + u.Sequence.ToString() 

                 }).FirstOrDefault();
于 2014-01-20T12:55:08.220 に答える
0

Linq to Entities は、サーバーがホストする SQL への関数の変換をサポートしていません。

ToString (なんでも) はその 1 つです。

回避策を提案する投稿は次のとおりです 。 http://mosesofegypt.net/post/2008/08/24/LINQ-to-Entities-what-is-not-supported.aspx

サポートされている関数のリストは次のとおりです: http://msdn.microsoft.com/en-us/library/bb738681.aspx

int を文字列に変換する方法を尋ねる投稿を次に示します 。Linq で int を文字列からエンティティに変換する際の問題

于 2013-09-03T11:57:42.523 に答える