Component.cs 587 字节
Newer Older
1 2 3
using MongoDB.Bson.Serialization.Attributes;

namespace Model
4
{
T
tanghai 已提交
5
	[BsonIgnoreExtraElements]
6
	public abstract partial class Component: Disposer
7
	{
T
tanghai 已提交
8 9 10 11 12 13
		[BsonIgnoreIfDefault]
		[BsonDefaultValue(0L)]
		[BsonElement]
		[BsonId]
		public long Id { get; set; }

14
		[BsonIgnore]
T
tanghai 已提交
15
		public Disposer Parent { get; set; }
16

T
tanghai 已提交
17
		public T GetParent<T>() where T : Disposer
18
		{
19
			return this.Parent as T;
20 21
		}

T
tanghai 已提交
22 23 24 25 26 27 28 29
		public Entity Entity
		{
			get
			{
				return this.Parent as Entity;
			}
		}

30 31
		public override void Dispose()
		{
T
tanghai 已提交
32
			if (this.IsDisposed)
33 34 35 36 37 38 39 40
			{
				return;
			}

			base.Dispose();
		}
	}
}