Object.cs 482 B

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