Object.cs 495 B

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using Model;
  3. using MongoDB.Bson;
  4. using MongoDB.Bson.Serialization.Attributes;
  5. namespace Model
  6. {
  7. public abstract class Object: IDisposable
  8. {
  9. [BsonId]
  10. [BsonIgnoreIfDefault]
  11. public long Id { get; protected set; }
  12. protected Object()
  13. {
  14. Id = IdGenerater.GenerateId();
  15. }
  16. protected Object(long id)
  17. {
  18. this.Id = id;
  19. }
  20. public virtual void Dispose()
  21. {
  22. }
  23. public object Clone()
  24. {
  25. return MongoHelper.FromBson(this.GetType(), this.ToBson());
  26. }
  27. }
  28. }