I have never used the entity framework before and i would like to try some personal projects implementing it to get my feet wet.
I see that entities can be exposed to the presentation layer. But i don't want certain fields exposed, fields like modified dates and created dates and various other database fields.
how could i implement Business objects and just expose the properties i need but still keep the objects serializable?
Also what advantages does this have over LinqToSql?
Personally use a wrapper class over entity and expose or shadow what I need.
When you define an entity in the EDMX model you can specify the visibility of each property's setter and getter, so if you don't want the ModifiedDate to be visible in other layers, you can simply specify it as internal.
If your requirements are more complicated like the ModifiedDate should be accessible in the entities assembly and the business logic assembly but not in the UI assembly, then you need to create another object which will be exchanged between the business logic and the UI logic layers.
// consider this is a new object list of Contact that is a table in the database //using entity framework this database table is mapped to an object for u to handle
//using a big of LINQ u can now select or query over any table in ur database and u have // access to the columns in that table example (Email) here
// rather than
How Do I Get Started with the Entity Framework?
Getting Started (Entity Framework)
Entity Framework Tutorials
You only bind the properties you want to the presentation layer, this can be done through declaration, a Business Logic layer (with it's own level of object abstraction) or your ViewModel.