Skip to content
rdhainaut edited this page Oct 28, 2017 · 37 revisions

There is only one requirement to bootstrap your app and integrate with the framework.

  1. All entities are required to implement ITrackable, we've done this through implementing a base entity class (Entity.cs) which are entities inherit (e.g. Customer.cs). Note: we use the EF Power Tools from EF Team, and modified the T4 templates to generate our entities to inherit Entity.cs.

Installation Notes:

  • Option A: Download (clone) sourcecode directly add reference to URF projects directly into your solution/project, and reference them from your projects
    • Ability to make direct and easy updates to URF
    • Ability to implement Edge case features e.g. Batch Inserts, etc.
  • Option B: Install all required URF Nuget Packages.
    • Decreasing your applications footprint
    • Often times less is more, e.g. less packages, less to build, less to compile, etc...
  1. You can download URF source code and projects and simply include them directly into your solution, for projects to reference them.
  2. This provides the ability to make changes to the actual Framework, as they are needed for customization, edge case features, enhancements specific to a team's / clients domain. After all the framework is extremely lightweight, designed from it's inception to have an extremely small footprint e.g "URF Framework has less than 10 classes or simply add the URF Nuget packages to your solution/projects. For a good guide and sample/seed application on what to reference where, simply clone URF repo, master branch @ https://github.com/lelong37/URF/tree/master/main/Sample, and most importantly - have fun, because now you can let your team and boss know now, you've just save everyone an *iteration or two (2). (e.g. 2 or 4 weeks :)

*Note: iteration estimation around 2 business weeks.

Optional (recommended) Readings

  • Download the source code, (IMPORTANT:) compile and run all the unit and integration tests, almost all implementation questions can be answered by reviewing them e.g. CustomerRepositoryTests.cs.
  • Review integration test e.g. CustomerRepositoryTests.cs, this is the most comprehensive tests and will run against a database, which illustrates most of the core features of the framework. If time permits review the other integration tests as well, this shouldn't take more than 15 minutes.
  • Review CustomerController.cs, this illustrates how to leverage the framework in ASP.NET MVC for all typical CRUD like activity.
  • Review UnityConfig.cs, this illustrates DI/IoC configuration of the framework, most importantly Singleton like behavior that the IDataContext that is bound to the lifecycle of an HttpRequest, this is needed regardless of which brand or type of DI/IoC framework you are using.
  • Leverage the lightweight documentation (below), the documentation is indeed very lightweight and that is deliberate, as is the framework as well. The (non-intimidating) framework has an extremely small footprint - 10 total classes, which includes the Entity Framework provider, with this being said a the framework should also only have lightweight set of documentation that is easy, fast to read and understand.