4

使用しているデータベースに必要なデータを返すストアド プロシージャがないため、WCF サービスの SQL クエリを実行しようとしています。以下のコードを見ることができます。VS2010 を使用しており、Microsoft SQL Server に接続しています。私が得る例外は次のとおりです。マルチパート識別子をバインドできませんでした。助けてくれてありがとう。

        public List<ObjectCodeGroup> GetObjectCodeGroup()
    {
        TCDataDataContext dc16 = new TCDataDataContext();
        List<ObjectCodeGroup> results = new List<ObjectCodeGroup>();

        var objectCodeResults = dc16.ExecuteQuery<ObjectCodeGroup>(@"select t1.codeid," +
            "t1.code, t1.catalogtype, t1.codegroup, t1.codetext, t1.codegrouptext, t1.codedesc, t1.state_id from CODES t1" +

            "inner join ( select MIN(codeid) codeid, codegroup from CODES group by codegroup)" +
                "t2 on t1.codeid = t2.codeid and t1.codegroup = t2.codegroup WHERE catalogtype = 11");

        foreach (ObjectCodeGroup o in objectCodeResults)
        {
            results.Add(new ObjectCodeGroup()
           {
               codegrouptext = o.codegrouptext
           });
        }

        return results;
    }
4

1 に答える 1

7

たくさんのスペースが欠けているので、それが問題の一部です。スペースを追加してください (行末に)!

var objectCodeResults = dc16.ExecuteQuery<ObjectCodeGroup>(@"select t1.codeid, " +
"t1.code, t1.catalogtype, t1.codegroup, t1.codetext, t1.codegrouptext, t1.codedesc, t1.state_id from CODES t1 " +
"inner join ( select MIN(codeid) codeid, codegroup from CODES group by codegroup) " +
"t2 on t1.codeid = t2.codeid and t1.codegroup = t2.codegroup WHERE catalogtype = 11");

元のクエリは次のようになりSELECT BLAH FROM CODES t1inner join (MOREBLAH)...ました。具体的には、 を見てくださいt1inner。それがクエリを台無しにしているものです。

于 2013-07-03T14:43:57.593 に答える