2013-08-05 93 views
1

我已經在C#桌面應用程序中反向設計了MySQL數據庫。我想要做的就是擴展一個模型類,以便我可以添加方法在本地應用程序中使用。我不想改變任何屬性或任何東西。只需獲取信息並計算事物。擴展模型以添加方法

問題是,當我從一個模型類繼承時,我得到一個有關在類中的新鑑別符字段的錯誤,但不是數據庫。

有沒有辦法做我想做的事情?

+0

這些模型類是否偏袒? –

+0

是的,他們是部分 – TheColonel26

回答

4

鑑於模型類是局部的,你可以聲明自己partial classes加入他們的行列:

// Note - needs to be in the same namespace as the auto-generated declaration 

public partial class Foo 
{ 
    // Add your own methods here, which can refer to the properties declared 
    // for the same type in the auto-generated code 
} 

部分類的一點是,多個文件可於同一類型的貢獻來源。

+0

這是擴展模型類的最好方法(以及它們被聲明爲部分的全部原因)。只要你通過創建計算方法和/或屬性(或帶有[NotMapped]屬性的屬性)來擴展它們,一切都會好起來的。 –

0

您可以嘗試extension methods來完成此操作,而不是繼承和創建新的子類型。

您將「附加」擴展方法到您生成的模型類。

+0

這看起來很有前途。我將不得不在明天嘗試一下。 如果能解決問題,我會報告回來。 – TheColonel26