2012-08-22 42 views
1

是否有一種簡單的方法將方法存儲在EF表中,類似於繼承?在實體框架數據庫中存儲方法

例如,我有一個表格表示門戶頁面上的應用程序(有點像您的基本iPhone或Android主屏幕)。我想在每個應用中顯示一個數字,以顯示該應用具有多少通知。但是,獲取通知數量的方法因應用程序而異。

我目前的解決方案是隻需要一個包含我需要的所有方法的類,然後根據應用程序名稱進行切換。有沒有更好的辦法?

+2

要存儲** **代碼數據庫中的字段???? – CodingGorilla

+3

我真的不知道數據庫與它有什麼關係,但在這些場景中,您應該真正創建一個統一的界面。然後每個應用程序應該實現該接口,可能通過適配器。 –

+0

@CodingGorilla不一定。 [這個問題](http://stackoverflow.com/questions/4315038/add-methods-to-a-model-using-entity-framework)看起來像我可以用部分類來做到這一點。只是想知道什麼是選項。 –

回答

1

假設您的方法獲取通知是無參數的,您可以將方法名稱存儲在該表中的列中,並通過反射調用它。在這個例子中,我們將調用列/屬性NotificationMethodName

//this would go in your entity class 
public int GetNotificationCount() 
{  
    MethodInfo mi = typeof(HelperClass).GetMethod(this.NotificationMethodName);  
    return (int)mi.Invoke(this, null); 
} 

public class HelperClass 
{ 
    //your class that currently has all the methods to get notification count 
}