Simply Frictionless Data - our Entity Framework toolset

Our toolset automates database access using Microsoft's Entity Framework. It comprises:

  • Simply Frictionless Data : our library of generic data access methods
  • Jenny : our code generator that produces instance-specific methods
[Jenny]

Jenny outputs three files in the DTO, DAL and BLL. These files are then compliled with your application.

The real advantage of using Frictionless Data is when you come to write your application code. The toolset handles writes too, but most of your data accesses will be reads. Jenny exposes three core "Fetch" methods for each of your tables: FetchAll, FetchOne and FetchZoo ( Zero Or One rows ).

Each of these methods take parameters to specify:
  • Includes: compiled - not "magic strings"
  • Filters: a lambda for your WHERE clause
  • Ordering: server-side sorting
  • Limit: maximum number of rows

So a typical method call would look like this:

List<User> users =
  BLL.User.FetchAll(
    include: User.Include( user => user.Company ),
    where: ( user => user.Age > 21 ),
    order: ( q => q.OrderBy( user => user.Name ) ),
    maxrows: 1000
  );

This provides excellent locality of intent: developers say what they want, exactly where they need it.

Simply Frictionless Data has been successfully used in numerous projects over the last two years.

It has consistently eliminated about 85% of hand-written data access code, meaning:
  • 85% less cost - developers can concentrate on business logic.
  • 85% less time - friction-less development increases productivity.
  • 85% less bugs - every hand-written line of code is a potential bug.

Please [ contact us ] if you would like to know more about using Simply Frictionless Data.