Skip to content

M2M4Ria V2

Daniel Svensson edited this page Apr 17, 2019 · 1 revision

(This information is obsolete since M2M4RIA has now been ported to OpenRiaServices, checkout OpenRiaServices.M2M)

Overview M2M4RIA is an extension for WCF RIA Services that adds support for many-2-many relations.

Features The new version of M2M4RIA has the following new features:

  • It can be installed with NuGet.
  • It supports Entity Framework code-first, model first, and DbContext.
  • It has a strongly-typed configuration mechanism using the fluent metadata API for WCF RIA Services.
  • Its code generator seamlessly integrates with the code generator of WCF RIA Services.
  • It requires only a minimal adaption of your datamodel.
  • It supports many-2-many relations with composite keys. This version removes the following limitations/restrictions from previous versions:
  • It is no longer specific for Entity Framework and its code generator is no longer tightly coupled with an EDMX entity model.
  • It no longer requires a difficult and fragile setup and configuration with T4 templates.
  • It no longer requires a tedious installation where individual files had to be added to specific locations in your projects. Download M2M4RIA is distributed as a collection of NuGet packages:
  • RIAServices.M2M This is the server-side part of M2M4RIA. It contains an entity code generator and an extension to the fluent metadata configuration for RIA Services.
  • RIAServices.M2M.LinkTable This is a generic link table implementation that is used for creating "link table" views for your M2M relations (see GeneralOverview).
  • RIAServices.M2M.Silverlight This is the client-side part of M2M4RIA. It contains classes for creating M2M views (see GeneralOverview). Usage

Add the M2M4RIA NuGet packages to your solution.

Create LinkTable entities (By subclassing a generic LinkTable class provided by M2M4RIA).

Extend your datamodel with "link table" views.

Configure your M2M relations using the fluent metadata API.

Add Insert/Delete operations to your domain service for your link table entities

A complete step-by-step guide is provided here.

Demo The source code repository contains a sample application that shows how M2M4RIA can be used..

Acknowledgements I would like to thank Colin Blair because without his support, m2m4ria-v2 would probably not exist.

See Also GeneralOverview StepByStepInstructions