0

複数の結合を含むクエリからソート可能な jqgrid 3.5 をロードしようとしていますが、Linq と jqgrid の両方の初心者であるため、非常に困難です。並べ替えを可能にするために、最初に動的 SQL を使用してロードしようとしました。

複数のテーブルから列を取得しているので、戻り値は、入力するクラス オブジェクトになると想定しています (または、テーブルになります)。複数の .JOIN 句で動的 SQL を使用する場合、IQueryable カスタム クラス オブジェクトを返すにはどうすればよいですか。これが不可能な場合、ストアド プロシージャの呼び出しから IQueryable データを返す方法を教えてください。ストアド プロシージャで動的 SQL を作成するのは簡単ですが、それを使用してグリッドをロードする方法がわかりません。

これがいたるところにある場合は申し訳ありませんが、方法が見つからないようです。複数の結合を含むクエリからソート可能なグリッドをロードする最も簡単な方法をお勧めできれば、非常に感謝しています。

私のコントローラーコード:

 public ActionResult GridData(string sidx, string sord, int page, int rows)
 {
        EquipTrak eqt = new EquipTrak();

        var equipment = eqt.GetGridEquipment(sidx, sord);

        var dataJson = new
        {

            total = 10000,
            page = 1,
            records = 10000,
            rows = (from e in equipment
                    select new
                    {
                        equip_id = e.equip_id,
                        cell = new string[] {
                e.equip_id,
                e.equipType,
                e.makeType,
                String.Format("{0:MM/dd/yyyy}", e.serv_due_dt)
            }
                    }).ToArray()
        };
        return Json(dataJson);
    }
}

私のクラスコード(不完全):

namespace ULS_Site.Models
{
  public class EquipTrak
  {
    uls_dbDataContext ulsDB = new uls_dbDataContext();

    public IQueryable<equipmentCls> GetGridEquipment(string sidx, string sord)
    {
        try
        {
            return
4

1 に答える 1

0

これが最善の解決策か最悪の解決策かはわかりませんが、必要なすべての結合を処理するために SQL Server ビューを使用しました。次に、データ コンテキストにあるビューに対して .Orderby と .Where を使用できます。

于 2009-09-15T18:51:19.427 に答える