Is it bad practice to use the generated objects from Entity Framework as business objects? Is it better to write a secondary wrapper around Entity Framework objects that I would then pass between layers?
For example, write my own POCO Person that accepts one of my generated Entity Framework object EFPerson to initialize the POCO Person object?
I don’t see why it would be bad practice. It might be awkward according to how you intend to use your EF objects.
I have partial classes to implement BIZ logic in the EF objects, using an Interface to provide a level of abstraction.
eg.
My only problem I have had is serializing the objects. In my case, serializing into JSON using WCF. It isn’t possible without creating an intermediate DTO either as a discrete class/object or as an anonymous type.
If you’re interested in serialisation, have a look at another question of mine here: Serialize Entity Framework objects into JSON