2011-05-11 108 views
3

注:我使用ASP.Net應用程序,而不是MVC [所以沒有驗證特性的支持]實體框架數據庫首先POCO T4生成和驗證

我使用的數據庫第一種方法,然後生成使用POCO我的POCO類t4模板。我將生成的POCO類移入它自己的庫(Domain.Model)中。

現在我想使用企業庫5向POCO類注入驗證。我該怎麼做。我不想在UI中執行驗證,但希望將使用Enterprise Library的驗證屬性添加到POCO類,而無需修改生成的POCO類。如果我修改它,那麼每當我生成新的類時,我都會放棄所有的更改。所以想要在POCO類之外執行驗證,但使用屬性。

希望我不要求什麼,這是不可能

+0

您可以使用Enterprise Library來引導類,然後使用自己的t4模板來添加驗證並生成全新的類。比您刪除舊的 – Stecya 2011-05-11 11:39:29

+0

@Stecya - 使用Enterprise Library生成類?你能指導更詳細的步驟嗎? – DotNetInfo 2011-05-11 11:41:59

+0

對不起,我的意思是生成使用POCO t4模板 – Stecya 2011-05-11 11:44:25

回答

1

在這種情況下,你必須要麼使用POCO發電機放棄和手動創建類自己 - 它可以讓你使用任何你想要的屬性或您必須修改T4模板爲你添加屬性。要修改T4模板,您必須使用來自元數據的信息來設置正確的屬性,或者您必須使用structural annotations並在以XML格式打開的EDMX中手動定義屬性。我描述了結構註釋here,但該示例與您的問題無關。

+0

感謝您的回覆。是的,我是這麼認爲的。我不會選擇修改t4模板的選項,並會手動創建類。我猜如果我只是將生成的POCO類複製到類庫中,然後使用代碼優先方法來生成DbContext(從DbContext代碼生成器),或者只是從DbContext實現MyContext並創建DbSets,就是這樣。我錯過了什麼?我看到你已經回答了很多EF問題,我可以從你那裏得到最好的答案 – DotNetInfo 2011-05-11 23:55:34