EAL - Probably Entity Access Layer - Although I wouldn't name it like that. It's simply the Entity Framework Model and a related SQL file in your situation. Rather than name that folder EAL, I would just call it Model or Database or Data
As for why there is a BAL and DAL with same filenames, I bet if you compare each file 1 by 1, you will see some differences, in terms of properties, fields etc etc.
The DAL maps 1 to 1 to the database table / entity field names, while the BAL might contain extra fields and methods that are used either in the UI, or for intermediate processing (ex: to do calculations based on certain other values) in addition to the fields required in the DAL.
Example:
Contract.cs
in DAL might simply have all the required database fields, like BidStartDate
, BidEndingDate
etc, while you might have an additional field called DaysRemainingForBids
in the BAL that you display in the UI, and that is calculated as the difference between current day
and the BidEndingDate
.
In other words, properties and methods that are not needed in the database, but are required for business logic and UI display, entry will be in the BAL and not in DAL for the same entity.