MongoDB.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System.Configuration;
  2. using System.Web.Script.Serialization;
  3. using MongoDB.Bson;
  4. using MongoDB.Bson.Serialization;
  5. using MongoDB.Driver;
  6. namespace Benchmarks.AspNet.Models
  7. {
  8. public class MongoDB
  9. {
  10. public MongoCollection<MongoWorld> Worlds { get; private set; }
  11. public MongoCollection<Fortune> Fortunes { get; private set; }
  12. static MongoDB()
  13. {
  14. BsonClassMap.RegisterClassMap<World>(m =>
  15. {
  16. m.MapProperty(w => w.id);
  17. m.MapProperty(w => w.randomNumber);
  18. });
  19. BsonClassMap.RegisterClassMap<MongoWorld>(m =>
  20. {
  21. m.MapIdProperty(w => w._id);
  22. });
  23. BsonClassMap.RegisterClassMap<Fortune>(m =>
  24. {
  25. m.MapProperty(f => f.ID).SetElementName("id");
  26. m.MapProperty(f => f.Message).SetElementName("message");
  27. });
  28. }
  29. public MongoDB(string connectionStringName)
  30. {
  31. string connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString;
  32. MongoClient client = new MongoClient(connectionString);
  33. MongoServer server = client.GetServer();
  34. MongoDatabase database = server.GetDatabase("hello_world");
  35. Worlds = database.GetCollection<MongoWorld>("world");
  36. Fortunes = database.GetCollection<Fortune>("fortune");
  37. }
  38. }
  39. public class MongoWorld : World
  40. {
  41. [ScriptIgnore]
  42. public object _id { get; set; }
  43. }
  44. }