Question

J'ai un projet ASP.NET Web Forms qui utilise Readify-Neo4jClient et Neo4J Community 2.0.3, je reçois un bug où un numéro stocké dans la base de données change de valeur lorsqu'il est récupéré.Voici une image de ce qu'il y a dans la base de données et de ce que je peux voir dans VS2013 :

https://docs.google.com/file/d/0B6b_N7sDgjmvMVF5TFpaZXJmNFk/edit

Le code pour récupérer l'utilisateur est le suivant :

IEnumerable<SUser> FoundUsers = Neo4jGraphClient.Cypher.Match("(user:User)")
    .Where((SUser user) => user.Email == UserName)
    .Return(user => user.As<SUser>())
    .Results;

Le code à écrire dans la base de données est le suivant :

    long DateTimeNow = DateTime.Now.Ticks;
    SUser ss = new SUser
    {
        Id = UserCounter.SubmitAndCommitNewUser(),
        DateOfBirth = DobDay.Text + "" + DobMonth.Text + "" + DobYear.Text,
        Email = UserName.Text,
        FirstName = FirstName.Text,
        LastName = LastName.Text,
        UserCreatedOn = DateTimeNow,
        role = UType.ADMIN,
        Status = UStatus.NEW
    };

    Neo4jReq.CreateSUser(ss);
......
    public static SUser CrseateSUser(SUser NewUser)
    {
        //... 
        Neo4jGraphClient.Cypher
        .Create("(user:User {NewUser})")
        .WithParam("NewUser", NewUser)
        .ExecuteWithoutResults();
        existing = NewUser;
    }

La classe est la suivante :

public class SUser
{
    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string DateOfBirth { get; set; }
    public string Email { get; set; }
    public UType role { get; set; }
    public UStatus Status { get; set; } 
    public string pass { get; set; }
    public string VerificationGUID { get; set; }
    public long UserCreatedOn { get; set; }
    public string UserNotes { get; set; } 
}

Des idées sur la cause de cela ?

Était-ce utile?

La solution

C'est vrai - j'ai cette réplication, cela ressemble à un bug (?) dans la façon dont le navigateur Neo4j affiche les données (à la fois l'administrateur Web actuel et l'ancien), donc les données stockées dans Neo4j sont correctes, mais elles deviennent « arrondies ». (dans un sens en tout cas) à l'écran, si vous exécutez la requête « Get » dans le navigateur, vous obtenez la terminaison « 00 », cela se produit également dans l'ancien administrateur Web :

http://localhost:7474/webadmin/

si vous exécutez la requête dans le « Navigateur de données ».

Cependant, si vous exécutez la requête dans la console (http://localhost:7474/webadmin/#/console/) vous obtiendrez les bons résultats.Neo4jClient vous donne les bons résultats, c'est le navigateur qui ne va pas dans ce cas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top