2014-07-08 40 views
0

我很熟悉SQL Server,Flot.js,一般使用數據庫。我正在ASP.NET MVC 4(使用VS 2012)中開發一個項目,該項目有一個充滿數據的Microsoft SQL Server Compact 4.0數據庫,我想用flot.js直觀地顯示這些數據。在ASP.NET MVC 4中使用Flot.js可視化SQL CE數據的一般方法?

我一直無法找到關於一般任何操作數據的步驟的任何信息。從SQL CE數據庫中的數據庫條目開始,以JSON文件(或CSV - 任何flot.js可用作輸入的數據)結束,Web開發人員可以使用的最常用方法是使用ASP.NET MVC 4?

回答

3

嗨,你的問題是相當廣泛,所以我很抱歉,如果答案是相當模糊的地方。因爲你有一個現有的數據庫,所以使用Entity Framework Database First將你的數據庫映射到一個有意義的上下文是有意義的,然後可以在你的代碼中操縱它。一旦你創建了一個模型EDMX您可以使用它在你的控制器來操作數據:

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

    //.... Your controller actions 

數據庫首先,您可以反向工程,從現有數據庫的模型。該模型存儲在一個EDMX文件(.edmx擴展名)中,可以在實體框架設計器中查看和編輯。您在應用程序中與之交互的類是從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的好方法。希望這會給你一個很好的概述,你至少應該有足夠的信息來開始。

+0

這是一個非常有用的答案,它對我非常有幫助。非常感謝你。 – alex