使用ASP.NET MVC 4中的Flot.js可视化SQL CE数据的一般方法?

时间:2014-07-08 15:40:12

标签: json asp.net-mvc-4 visual-studio-2012 sql-server-ce flot

我对SQL Server,Flot.js很新,一般使用数据库。我正在使用ASP.NET MVC 4中的一个项目(使用VS 2012),该项目有一个填充了数据的Microsoft SQL Server Compact 4.0数据库,我想用flot.js直观地显示这些数据。

我无法找到有关操作数据的常规步骤的任何信息。从SQL CE数据库中的DB条目开始,以JSON文件(或CSV - 任何flot.js可用作输入的任何内容)结束,Web开发人员可以使用ASP.NET进行的最常见方法是什么MVC 4?

1 个答案:

答案 0 :(得分:3)

嗨,你的问题非常广泛,所以如果答案在某些地方很模糊,我会道歉。由于您拥有现有数据库,因此使用Entity Framework Database First将数据库映射到有意义的上下文是有意义的,然后可以在代码中对其进行操作。一旦创建了edmx模型,就可以在控制器中使用它来操作数据:

public class YourController : Controller
{
    private DatabaseEntities db = new DatabaseEntities();

    //.... Your controller actions

Database First允许您从现有数据库对模型进行反向工程。该模型存储在EDMX文件(.edmx扩展名)中,可以在Entity Framework Designer中查看和编辑。您在应用程序中与之交互的类将自动从EDMX文件生成。

Flot采用以下格式获取数据:

[[1,2],[3,4],[5,5]]  // x, y coordinates
[[1,"a"],[2,"b"],[3,"c"]] // Categories

有关详细信息,请参阅Flot documentation。所以使用Json不能直接使用flot。您必须创建一个控制器操作,以正确的格式返回所需的数据:

public string GetData()
{
    var query = db.Table.Where(... // linq query for desired data

    var builder = new StringBuilder();
    builder.Append("[");
    foreach (var item in query)
        builder.AppendFormat("[{0}, {1}], ", item.x, item.y);
    var result = builder.ToString();

    return result;
}

现在在客户端,您可以从jQuery调用以获取数据并绘制图表:

$(function () {

    $.getJSON("../controller/action", function (data) {

        $.plot("#placeholder", [data], {
                // your chart

只是一种方法,但认为使用MVC是一种好方法。希望这会给你一个很好的概述,你应该有足够的信息来开始至少。