2012-07-31 97 views
0

在我的ASP.NET網站中,我創建了新的實體數據模型並將其與我的MsSql數據庫連接起來。現在我可以使用Model.Student類,但該類沒有方法。我嘗試添加的擴展方法,如數據庫模型和擴展方法

public static class Functions{ 
    public static double calculateStudentScore(this Model.Student s){ 
      //implementation 
    } 
} 

當我創造新的學生和嘗試調用我的方法,我還看不出來,爲什麼會這樣?

例如讓假設sStudent

double score=s.calculateStudentScore();//I can't see my calculateStudentScore method 
+0

你試圖計算什麼樣的價值?我沒有看到任何值傳遞到該方法.. – MethodMan 2012-07-31 22:10:55

+3

您是否已將'使用TheNameSpaceWhereYourExtensionMethodIs;'添加到頂部? – 2012-07-31 22:12:20

+0

到頂部是什麼? – MrD 2012-07-31 22:14:18

回答

1

你的EF模型類型是一個局部類。雖然我原則上同意擴展應該是可見的,但同時,只需添加一個新文件,然後將該方法添加到該類中。

+0

現在沒關係,我在方法聲明中忘記了static關鍵字。 Thx給大家! – MrD 2012-08-01 00:04:22

+0

這引發了一個有趣的問題:程度還是不夠?哪種方法更好?更快?更多維修包? – Darek 2012-08-01 00:39:12

+0

嗯,我這樣做是因爲它更容易維護。如果我改變模型,我的方法沒有問題:) – MrD 2012-08-01 18:29:24