我爲我的mvc 3項目使用了linq到sql。有幾種方法可以生成域模態類文件。如何爲LINQ to SQL生成類?
- sqlmetal
- 對象關係設計
- 手代碼
我總是用手代碼的模型類文件。因爲由sqlmetal或設計器生成的文件是混亂的。你怎麼看?最好的辦法是做什麼。
編輯:
我使用MVC 3,不2.也許我錯了,但是這是我的驗證。無論如何,我最終會寫出所有這些類文件,那麼使用工具生成它們有什麼意義?
public class User
{
[Required]
public string Password { get; set; }
[Required, Compare("Password")]
public string ComparePassword { get; set; }
}
使用工具(L2S,T4,無論)的要點是,無論何時您手動編寫代碼,您都容易犯錯。此外,它可以讓您免於佈線所帶來的煩瑣麻煩。我有T4模板可以生成你正在描述的* EXACT *結構,但我永遠不必考慮它 - 只要對象模型發生變化就重新生成。這讓我專注於實際的應用程序邏輯。 – GalacticCowboy
我還會補充一點,重複自己(違反DRY原則)最多隻會浪費時間,並且最糟糕的是容易出錯。作爲一個例子,你只需要指定一次字符串的長度。如果你在你的桌子上,再一次在你的桌子上做,你會加倍努力,並有可能失去同步的風險。避免這種做法是做代碼生成的一大優勢,無論你如何做或使用哪種數據訪問技術。實體框架實際上通過提供來自VS的T4模板來包含這一點。如果它支持跨數據庫查詢和更好的查詢日誌記錄,那麼我們可能會切換。 – mattmc3