我对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?
答案 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是一种好方法。希望这会给你一个很好的概述,你应该有足够的信息来开始至少。