使用没有存储库的sql数据库实现jTable网格

时间:2013-09-20 02:23:28

标签: c# sql linq nhibernate jquery-jtable

我正在尝试使用c#使用我的asp.net Web应用程序实现jtable,并且在下载演示之后我能够像使用它一样使用存储库。我的问题是现在我需要网格使用相同的CRUD行为但使用SQL数据库。

我一直在阅读我在谷歌上找到的每篇文章,试图找到正确的方法来解决这个问题。现在我认为使用Linq to SQL是将数据库绑定到网格的正确方法,但是当我尝试实现它时,它完全错误。我正在研究NHibernate,但我完全不知所措。

我以为我需要做这样的事情:

public ActionResult GetCustomer(int id) 
{
    using (var db = new SampleSQLDatabase())
    {
        return Json(db.GetData(id).sample1());
    } 

}

但不确定这是否是我需要走的路线。我真的倾向于nHibernate但是需要一些指导才能完成这个任务。

1 个答案:

答案 0 :(得分:0)

实际上这很简单,可能比你意识到的要容易。

在您的控制器中,您需要一种方法来检索数据库结果,然后将结果作为Json获取。这是我自己的一个项目中的一个例子。

public class HomeController : Controller
{
    private DataContext db = new DataContext();
    public JsonResult GetCustomer(int id)
    {
        try
        {
            var customerRecord = db.CustomerList.Find(id);
            return Json(new { Result = "OK", Records = customerRecord }, JsonRequestBehavior.AllowGet);
        }catch(Exception ex)
        {
            return Json(new { Result = "ERROR", Message = ex.Message }, JsonRequestBehavior.AllowGet);
        }
    }
}

DataContext类非常简单,它扩展了DbContext。示例如下:

public class DataContext : DbContext
    {
        public DbSet<RMA> RmaRecordList { get; set; }
        public DbSet<Customer> CustomerList { get; set; }
        public DbSet<Contact> ContactList { get; set; }
        public DbSet<Address> AddressList { get; set; }
    }