0

LINQ to SQL を使用して Access から SQL サーバーにいくつかのレコードをインポートしようとしましたが、次のコードの "select new tblName" (select に下線が引かれています) の件名にエラーが表示されました。

        OdbcConnection myconnection = new OdbcConnection("Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" + this.txtFullPath.Text);
        OdbcDataAdapter myadapter = new OdbcDataAdapter("SELECT * FROM Name", myconnection);
        DataSet myCustomersDS = new DataSet();
        myadapter.Fill(myCustomersDS, "Name");

        //LINQ
        iMISDataContext db = new iMISDataContext();

        // inserting multiple items
        tblName toInsert =
            from row in myCustomersDS.Tables["Name"].AsEnumerable()
            select new tblName
            {
                ID = row.Field<string>("ID"),
                ORG_CODE = row.Field<string>("ORG_CODE"),
                MEMBER_TYPE = row.Field<string>("MEMBER_TYPE"),
                //... and rest of the columns (lots of columns)
            };
        db.tblNames.InsertAllOnSubmit(toInsert);
        db.SubmitChanges();

最後の 2 行目にも別のエラーがあります。型引数を明示的に指定してみてください。

ありがとう、スティーブン

4

1 に答える 1

1

行に対する射影を行うためにクエリを実行するとmyCustomersDS.Tables["Name"]、実際には単一のオブジェクトではなくいくつかのオブジェクトが選択されます。だから変える

// inserting multiple items
        tblName toInsert =
            from row in myCustomersDS.Tables["Name"].AsEnumerable()
            .......

に:

// inserting multiple items
        var toInsert =
            from row in myCustomersDS.Tables["Name"].AsEnumerable()
            .....
于 2013-11-06T18:39:49.127 に答える