(表示在C#)這是最有可能的一個爲你性感的DBA那裏:建模通用關係數據庫
怎麼會藉此我在有一個領域我effieciently模型關係數據庫定義「SportType」的「Event」表?
這個「SportsType」字段可以保存一個鏈接到不同的運動表E.g. 「FootballEvent」,「RubgyEvent」,「CricketEvent」和「F1事件」。
這些運動表中的每一個都有特定於該運動的其他字段。
我的目標是能夠根據需要在未來通用添加運動類型,但將運動特定事件數據(字段)作爲我的事件實體的一部分。
是否有可能使用一個ORM,如NHibernate/Entity framework/DataObjects.NET這會反映這種關係?
我已經一起引發一個快速的C#示例來表達我的意圖在更高層次上:
public class Event<T> where T : new()
{
public T Fields { get; set; }
public Event()
{
EventType = new T();
}
}
public class FootballEvent
{
public Team CompetitorA { get; set; }
public Team CompetitorB { get; set; }
}
public class TennisEvent
{
public Player CompetitorA { get; set; }
public Player CompetitorB { get; set; }
}
public class F1RacingEvent
{
public List<Player> Drivers { get; set; }
public List<Team> Teams { get; set; }
}
public class Team
{
public IEnumerable<Player> Squad { get; set; }
}
public class Player
{
public string Name { get; set; }
public DateTime DOB { get; set;}
}
鏈接到DO4論壇描述這種情況下一個話題:http://forum.x-tensive.com/viewtopic.php ?F = 29&T = 5820 – 2010-04-01 03:03:43