我decimal
在我的程序中使用类型属性时遇到问题,该程序使用 Neo4jClient 与我的 Neo4J 服务器交互。
using System;
using Neo4jClient;
namespace TestProject
{
class Program
{
static void Main()
{
var graphClient = new GraphClient(new Uri("http://localhost:7474/db/data"));
graphClient.Connect();
const decimal socialFactor = 0.5m;
var userIn = new User {Name = "John Doe", SocialFactor = socialFactor};
var nodeRef = graphClient.Create(userIn);
var userOut = graphClient.Get(nodeRef).Data;
Console.WriteLine(userOut.Name + ", " + userOut.SocialFactor);
Console.WriteLine(userOut.SocialFactor == socialFactor ? "win" : "fail!");
}
}
class User
{
public string Name { get; set; }
public decimal SocialFactor { get; set; }
}
}
程序所做的是将一个社交因子为 0.5 的用户节点插入到 Neo4j ( userIn
) 中,并立即再次检索该用户节点 ( userOut
)。问题是userOut.SocialFactor
5 而不是 0.5!
奇怪的是,当我将类型更改为 时double
,没有问题,但这显然是我不想做的事情。
这是一个错误吗?有什么解决方法吗?
谢谢,扬