3
votes

NOTE: I am using ASP.Net application and not MVC [so no validation attribute are supported]

I used Database First approach and then generated my POCO classes using the POCO t4 template. I moved the generated POCO classes in it's own library (Domain.Model).

Now I want to inject validation to the POCO class using Enterprise Library 5. How can I do that. I don't want to perform validation in UI, but want to add the validation attributes using Enterprise Library to the POCO class without modifying the generated POCO class. If I modify it, then whenever I generate new classes, I will loose all my changes. So want to perform validation outside of POCO class but using attributes.

Hope I am not asking something which is not possible

1
You can genarate classes with Enterprise Library, and then use your own t4 templete to add validation and generate brand new classes. Than you delete old onesStecya
@Stecya - Generate classes with Enterprise Library? Can you direct with the steps in more details please?DotNetInfo
Sorry, I mean generate using the POCO t4 templateStecya

1 Answers

1
votes

In such case you must either give up with POCO generator and create classes manually yourselves - it will allow you to use any attributes you want OR you must modify T4 template to add attributes for you. To modify T4 template you must either use information from metadata to setup correct attributes or you must use structural annotations and manually define attributes in EDMX opened as XML. I described structural annotations here but the example is not related to your problem.