2015-03-02 87 views
0

我是MongoDB的新手,並且遇到了一些問題。遵循這個簡單的指南(http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-csharp-driver),但是我將連接到一個我沒有親自創建的數據庫。因此,當這些示例包含如下內容:如何爲不是我的MongoDB集合創建類?

var collection = database.GetCollection<Entity>("entities"); 

它不適用於我要連接到的實際數據庫,因爲我沒有該類。它充滿了,我不能只是猜測類型。例如:

/* 0 */ 
{ 
    "_id" : ObjectId("54f0f990cea606d49fafd5h2"), 
    "Time" : ISODate("2015-02-27T23:11:12.301Z"), 
    "Timecode" : "15:11:12:18", 
    "Round" : "1", 
    "FighterID" : 5, 
    "FighterName" : "John Doe", 
    "TypeID" : 1, 
    "Type" : "jab", 
    "HandID" : 2, 
    "Hand" : "left", 
    "Force" : 0.0, 
    "Velocity" : 8.0789527768068456, 
    "Confidence" : 67.689217510307827, 
    "ImpactType" : 1, 
    "FightID" : "fea5dc60-b898-11e4-ac68-a5f571ea05d9" 
} 

我不知道如何使一個類,由於類成員相當複雜。

我該如何去做這件事?

回答

1

我不知道移開,以創造類出的MongoDB,就像我們與EF和LINQ到SQL。

我建議你做的兩件事情之一,我相信第二個解決方案將更加努力,但更接近你問什麼

1)儘量使用bsonextractelements屬性來捕獲所有複雜的領域

public MyClass { 
    // fields and properties 
    [BsonExtraElements] 
    public BsonDocument CatchAll { get; set; } 
} 

或者, 2)使用反射和存儲屬性的名稱以及每個屬性的數據類型txt文件也許。然後創建您的班級manullay

+0

感謝您的評論。我會盡力做到這一點,並回來告訴你我用了什麼,因爲我需要今天完成這件事 – user1189352 2015-03-03 16:49:59