0

LINQ を使用して内部結合テーブルから選択された結果セットがあります。結果セットを DataTable として返すにはどうすればよいですか?

DataProviderDataContext db = new DataProviderDataContext();

IEnumerable<DataRow> asd = (IEnumerable<DataRow>)(from dsa in (from usrAddr in db.T_USER_ADDRESSes join usr in db.T_USERs on usrAddr.USER_ID equals usr.USER_ID where usr.USER_ID == UserID select new { usr.REALNAME, usrAddr.USER_ID, usrAddr.USER_ADDRESS_ID, usrAddr.ADDRESS, usrAddr.TITLE, usrAddr.IS_DELIVERY, usrAddr.IS_INVOICE }).AsEnumerable() select dsa);

DataTable dt = asd.CopyToDataTable<DataRow>();

よろしくお願いします。

4

2 に答える 2

1

残念ながらCopyToDataTable<DataRow>()、上で動作しますIEnumerable<DataRow>。ここで概説されているように、返されたデータをシュレッドする必要があります: http://msdn.microsoft.com/en-us/library/bb669096.aspx

于 2012-05-02T11:38:58.597 に答える
0

私はDataTable dt = asd.CopyToDataTable<DataRow>();あなたのために仕事をしないことに驚いています。

試す:

asd.CopyToDataTable(dt, LoadOption.PreserveChanges);
于 2012-05-02T11:33:53.790 に答える