Required Software (Microsoft Base Software needed for Development environment)
- Visual Studio 2010 RTM & .NET 4.0 RTM (Final Versions)
- Expression Blend 4 RC (Or newer Version)
- Unity Application Block 2.0 - Published May 5th 2010
- PEX v0.91.50418.0, 04/19/2010 - (including Moles) Visual Studio 2010 Power Tools Pre-Release
- Silverlight 4 Tools for Visual Studio 2010
- Silverlight 4.0 Toolkit (Apr. 15 2010)
- Windows Server AppFabric Beta2 Refresh or RC (Just for our version 0.72)
New functionality in this V0.8:
UNITY 2.0 support!!
-- Almost all code was compatible. We just changed some lifetimemanagers, see down below.Silverlight 4.0 Client (Better functionality)
-- Silverlight project is 100% Blend 4 Friendly
-- Class Library with entities logic code for Self Tracking Entities process. We're referencing same code used in .NET through links, so, for this point we use same code for .NET and Silverlight, but we recompile it in a Silverlight library code which just has liks to .NET code situated in Domain.Core,Domain.MainModule.Entities.New Unity lifetimemanager for Unit Of Work (EF Context) sharing between several object graphs and Resolve<>
-- We created our custom lifetimemanager which is called "PerExecutionContextLifetimeManager". This way you can share your Unit-Of-Work (EF-Context) between several Unity object graphs (different IoCFactory.Resolve<>). :-)
Internally (within our lifetimemanager) we're storing the Unit-Of-Work (EF-Context) within a context, depending of the EXECUTION ENVIRONMENT, I mean:
- WCF Service --> WCF Context
- ASP.NET --> HTTP Context
- Unit Testing --> CallContext (Based on internall Remoting ContextBoundObjects)
See this thread for more info: http://microsoftnlayerapp.codeplex.com/Thread/View.aspx?ThreadId=211448 Functionality improvement
-- Some minor functionality changes like paging and some entities showed in Combos (WPF) Assemblies Documentation (.CHM)
-- We generated a .CHM help file with all assemblies' comments, using SANDCASTLE. Still a Draft/beta version. Many comments have to be reviewed (proper translation, etc.).
How To Setup this project in VS.2010:
After installing ALL pre-required software, do the following steps
- Create an empty SQL Server 2008 or SQL 2008 R2 DataBase called NLayerApp
(conn-string is currently using SQL Server 2008 EXPRESS, like .\SQLEXPRESS)
: Open the VS Solution and within the DATABASE project, execute the sql script called "Script.PostDeployment.sql". This will create all the tables needed bythe app. Take into account that thisscript will be executed in every app's execution, so, all data will be cleaned up, for testing purposes, etc. It you do not want this, just comment the content of thie .SQL file or enable/disable it within Database project's settings.
- Select the WPF or SL4.0 project as 'Default project' for debugging.
- Depending on what you want to execute (Repositories working against the real DB or against an in-memory 'EF-MOCK' we have
), you can change it using just a Web.config property
in the WCF WebSite project
key="defaultIoCContainer" value="RealAppContext" will run against the Database
key="defaultIoCContainer" value="FakeAppContex" will run against in-memory EF-Context fake