我已經在C#桌面應用程序中反向設計了MySQL數據庫。我想要做的就是擴展一個模型類,以便我可以添加方法在本地應用程序中使用。我不想改變任何屬性或任何東西。只需獲取信息並計算事物。擴展模型以添加方法
問題是,當我從一個模型類繼承時,我得到一個有關在類中的新鑑別符字段的錯誤,但不是數據庫。
有沒有辦法做我想做的事情?
我已經在C#桌面應用程序中反向設計了MySQL數據庫。我想要做的就是擴展一個模型類,以便我可以添加方法在本地應用程序中使用。我不想改變任何屬性或任何東西。只需獲取信息並計算事物。擴展模型以添加方法
問題是,當我從一個模型類繼承時,我得到一個有關在類中的新鑑別符字段的錯誤,但不是數據庫。
有沒有辦法做我想做的事情?
鑑於模型類是局部的,你可以聲明自己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
}
部分類的一點是,多個文件可於同一類型的貢獻來源。
這是擴展模型類的最好方法(以及它們被聲明爲部分的全部原因)。只要你通過創建計算方法和/或屬性(或帶有[NotMapped]屬性的屬性)來擴展它們,一切都會好起來的。 –
您可以嘗試extension methods來完成此操作,而不是繼承和創建新的子類型。
您將「附加」擴展方法到您生成的模型類。
這看起來很有前途。我將不得不在明天嘗試一下。 如果能解決問題,我會報告回來。 – TheColonel26
這些模型類是否偏袒? –
是的,他們是部分 – TheColonel26