2017-04-15 3 views
-1

人。 すぐに私の英語のために申し訳ありません。 私は数日間自分で決めることができない問題について助けが必要です。C#mongoDBデータ取得

私はmongoDBに関連したC#プロジェクトを持っています。 ユーザーはアカウントを作成し、彼のために2つの文字を作成できます。

はここでキャラクター作成です:

Character.Character character = new Character.Character 
    { 
    SocialClubName = player.socialClubName, 
    Name = name, 
    Surname = surname, 
    RegistrationDate = DateTime.Now, 
    LastLoginDate = DateTime.Now, 
    RegistrationIp = player.address, 
    CurrentIp = player.address 
    }; 

    Characters.InsertOneAsync(character); 

Character.cs

public class Character 
    { 
    [BsonId] 
    public ObjectId Id { get; set; } 

    public string SocialClubName { get; set; } 
    public string Name { get; set; } 
    public string Surname { get; set; }  
    public string RegistrationIp { get; set; } 
    public string CurrentIp { get; set; } 
    public DateTime RegistrationDate { get; set; } 
    public DateTime LastLoginDate { get; set; } 
    } 

そして問題は、データベースからこれらのデータを取得しています。私は2つの文字のデータでグローバル変数を持つ必要があります。

今では、次のようになります。

public static string Name { get; set; } 
public static string Surname { get; set; } 
public static string RegistrationIp { get; set; } 
public static string CurrentIp { get; set; } 
public static DateTime RegistrationDate { get; set; } 
public static DateTime LastLoginDate { get; set; } 

public static async Task LoadCharacterData(Client player) 
{ 
    var filter = new BsonDocument("NameOfTable", player.name); 
    var characters = await DatabaseManager.Characters.Find(filter).ToListAsync(); 

    foreach (var character in characters) 
    { 
    Name = character.Name; 
    Surname = character.Surname; 
    RegistrationIp = character.RegistrationIp; 
    CurrentIp = character.CurrentIp; 
    RegistrationDate = character.RegistrationDate; 
    LastLoginDate = character.LastLoginDate; 
    } 
} 

私はC#ので動作するように始めているので、それは愚かに見えます。私はMongoDBを使用することに決めました。なぜなら私は以前MeteorAppで作業していたからです。

答えて

0

あなたの例では、読むたびにName/SurNameなどが上書きされるので、最後の文字のみを取得します。

public class User 
{ 
    public string Name{get;set;} 
    public string SurName{get;set;} 
} 

public static List<User> Users {get;set;} 
public static async Task LoadCharacterData(Client player) 
{ 
    //*Snip* 
    foreach(var character in character) 
    Users.Add(new User {Name = character.Name; SurName = character.Surname;} 
} 

あなたは、このような何かをUserクラスを作成し、それらを得ることができます

関連する問題