我有4个亚类: Video
, Image
, Note
,和Form
。 各包含不同的数据类型。 例如, Image
类包含在磁盘上和图片属性的图像文件的路径,并且所述Form
类包含表单字段值。 每个项之间的共同元件,但是,是GPS坐标和航向,因此我有以下的抽象基类:
public abstract class Content
{
public float? Latitude { get; set; }
public float? Longitude { get; set; }
public float? Heading { get; set; }
}
然而,当我得到朦胧的是如何在一个数据库建模。 目前,我有一个表称为Events
(例如起见,假设一个事件是党的生日)和4个表( Videos
, Images
, Notes
和Forms
)。 每个表都有一个外键链接回Events
“的主键。
使用LINQ到SQL,我得到5班为每个表。 这是好的,如果我只想要一个类型的数据,例如Event.Images
,但我想做的是统计的“内容”的总数Event
有,并获得GPS坐标。 我能翼伯爵只要使用很容易Event.Images.Count() + Event.Videos.Count() + ...
,但我不能对GPS坐标做同样的。 有一些方法可以让我的数据库模型,以便我可以用一个基类的每个项目,仍然能够获得单个强类型的项目,当我需要看它的数据?