Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Entity Framework And Business Objects

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?

like image 514
BastanteCaro Avatar asked Mar 05 '11 09:03

BastanteCaro


People also ask

Is Entity Framework an ORM?

Entity Framework (EF) is an open source object–relational mapping (ORM) framework for ADO.NET.

What is Entity Framework used for?

The Entity Framework enables developers to work with data in the form of domain-specific objects and properties, such as customers and customer addresses, without having to concern themselves with the underlying database tables and columns where this data is stored.

What is a business object entity?

A business object is an entity within a multitiered software application that works in conjunction with the data access and business logic layers to transport data.

Is Entity Framework Good for Enterprise application?

Yes, and you'll find a number of nice features well suited toward rapid application development. That said, it's somewhat of a half baked technology, and lacks many advanced features of its own predecessor, LINQ to SQL (even 3 years after its first release).


1 Answers

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.

enter image description here

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.

like image 132
Ladislav Mrnka Avatar answered Oct 13 '22 11:10

Ladislav Mrnka