2011-04-04 42 views
1

您好我在運行時映射一個繼承時遇到了問題(插入行到數據庫,我得到了屬於超類的屬性的一個錯誤,我有一些屬性,我只想在超類中定義,所以所有子類可以繼承它們在乾燥方式。LINQ TO SQL GRR!如何映射這個繼承?

我很高興被實例化超類,並有記錄添加到數據庫中時,它的子類。

所以我的問題是,我該怎麼辦地圖這個沒有出錯?EG

[Table] 
[InheritanceMapping(Code = "CJ", Type = typeof(CronJob))] 
[InheritanceMapping(Code = "SCJ", Type = typeof(SongCronJob))] 
public class CronJob { 
[Column(Name = "name")] /* I want this to be inherited by subclasses */ 
public string name { get; set; } 
} 

[Table] 
public class SongCronJob { } 

但是因爲它沒有在SongCronJob中定義,所以當我嘗試將SongCronJob插入到數據庫時它出錯了! : - /!

任何幫助表示讚賞!

回答

0

你不能讓你的類SongCronJob用TableAttribute裝飾。 你唯一的桌子是CronJob。

,你需要聲明你SongCronJob爲:

public class SongCronJob : CronJob { }

我認爲這將解決您的問題。