假设一个节点被反序列化为以下 POCO:
public class Node
{
public int id {get;set;}
public string name {get; set;}
public List<int> outBoundConnection {get;set;}
public List<int> inBoundConnection {get; set;}
}
id 字段来自数据库。这将用于跟踪对象。假设每一行/节点/.. 都有一个唯一的 id,您需要在对象的整个生命周期中保持这一点(查询 -> POCO -> JSON -> D3)。此 ID 会将您的 D3 数据集链接到您的 SQL 服务器行。
我希望这有助于作为一个总体大纲。
设置一个 Web 项目,该项目将公开 D3 将使用的 Web 服务。
创建一个 Web 服务来查询节点。以 JSON 格式返回数据。
D3 具有用于 Web 服务的 API
您可能想查看AutoMapper,因为它使从 DataTable/Reader 转换为 POCO 变得非常容易。或者你最喜欢的语言的 DTO/OOM 框架。
在此 Web 服务中:创建与数据库的连接,查询所需的表,执行查询,将返回的数据转换为类对象 (AutoMapper),将您构建的任何结构返回为 JSON。
现在,由于 id 在整个生命周期中都会保留,您可以使用 id 作为参数向您的 Web 服务发出请求。
因此,例如,如果您想删除一条笔记。您将向接受 id 作为参数的 Web 服务端点发出 HTTP DELETE 请求(jQuery 在这里派上用场)。
或者,如果您想删除连接节点,请创建一个带有两个 ID 或连接 ID 的 Web 服务(如果您以这种方式设置了架构)。
您想了解图表数据的独特之处。