如何处理 neo4j-dotnet-driver 查询的结果以作为模型传递给 mvc 视图
How to process results of a neo4j-dotnet-driver query to pass to mvc view as model
我想使用模型将密码查询的结果传递给 MVC 的视图。获得的结果是我在 var result
中得到的节点形式。
现在我想把这个结果作为模型传递给一个视图,这样我就可以在剃须刀视图中打印得到的结果。
我的模型 class 是:
public class Item {
public int id {get; set;}
public string name {get; set;}
public string type {get; set;}
}
我的控制器方法如下:
public ActionResult Index()
{
using(var driver = GraphDatabase.Driver("bolt://localhost:7687","neo4j", "12345")
{
using(var session = driver.Session())
{
using(var tx = session.ReadTransaction())
{
var result = tx.Run("MATCH (m:Item) RETURN m")
}
}
}
return View();
}
终于解决了我的问题。感谢@Chris Skardon。下面是解决我问题的代码。
public ActionResult Index()
{
// Using Neo4j.Driver
List<Item> items = new List<Item>();
using (var session = _driver.Session())
{
var results = session.ReadTransaction(tx => tx.Run("MATCH (a:Item) RETURN (a)"));
foreach(IRecord result in results)
{
var Node = result["a"].As<INode>();
var Id = node.Properties["ID"]?.As<long>();
var Name = node.Properties["Name"]?.As<string>();
var Type = node.Properties["Type"]?.As<string>();
items.Add(new Item { id = Id, name = Name, type = Type });
}
return View(items.ToList());
}
}
我想使用模型将密码查询的结果传递给 MVC 的视图。获得的结果是我在 var result
中得到的节点形式。
现在我想把这个结果作为模型传递给一个视图,这样我就可以在剃须刀视图中打印得到的结果。
我的模型 class 是:
public class Item {
public int id {get; set;}
public string name {get; set;}
public string type {get; set;}
}
我的控制器方法如下:
public ActionResult Index()
{
using(var driver = GraphDatabase.Driver("bolt://localhost:7687","neo4j", "12345")
{
using(var session = driver.Session())
{
using(var tx = session.ReadTransaction())
{
var result = tx.Run("MATCH (m:Item) RETURN m")
}
}
}
return View();
}
终于解决了我的问题。感谢@Chris Skardon。下面是解决我问题的代码。
public ActionResult Index()
{
// Using Neo4j.Driver
List<Item> items = new List<Item>();
using (var session = _driver.Session())
{
var results = session.ReadTransaction(tx => tx.Run("MATCH (a:Item) RETURN (a)"));
foreach(IRecord result in results)
{
var Node = result["a"].As<INode>();
var Id = node.Properties["ID"]?.As<long>();
var Name = node.Properties["Name"]?.As<string>();
var Type = node.Properties["Type"]?.As<string>();
items.Add(new Item { id = Id, name = Name, type = Type });
}
return View(items.ToList());
}
}