https://github.com/openriaservices/openriaservices.m2m
M2M4RIA is an extension for OpenRIAServices that adds support for many-2-many relations.
https://github.com/openriaservices/openriaservices.m2m
code-generation dotnet many2many open-ria-services
Last synced: about 1 year ago
JSON representation
M2M4RIA is an extension for OpenRIAServices that adds support for many-2-many relations.
- Host: GitHub
- URL: https://github.com/openriaservices/openriaservices.m2m
- Owner: OpenRIAServices
- License: ms-pl
- Created: 2019-04-17T12:16:58.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2022-11-17T21:44:56.000Z (over 3 years ago)
- Last Synced: 2025-04-11T04:53:57.400Z (about 1 year ago)
- Topics: code-generation, dotnet, many2many, open-ria-services
- Language: C#
- Homepage:
- Size: 1.71 MB
- Stars: 3
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Build status
[](https://dev.azure.com/OpenRiaServices/OpenRiaServices/_build/latest?definitionId=2&branchName=master)
Sonarcloud status
[](https://sonarcloud.io/dashboard?id=OpenRIAServices_OpenRiaServices.M2M)
[](https://sonarcloud.io/dashboard?id=OpenRIAServices_OpenRiaServices.M2M)
[](https://sonarcloud.io/dashboard?id=OpenRIAServices_OpenRiaServices.M2M)
[](https://sonarcloud.io/dashboard?id=OpenRIAServices_OpenRiaServices.M2M)
[](https://sonarcloud.io/dashboard?id=OpenRIAServices_OpenRiaServices.M2M)
Nuget [](https://www.nuget.org/packages/OpenRiaServices.M2M)
preview [](https://www.nuget.org/packages/OpenRiaServices.M2M)
## Overview
M2M4RIA is an extension for [OpenRIAServices](https://github.com/OpenRIAServices/OpenRiaServices) that adds support for many-2-many relations.
## Features
* Can be installed with NuGet.
* Supports Entity Framework code-first, model first, and DbContext.
* A strongly-typed configuration mechanism using the [Fluent Metadata API](https://riaservicescontrib.codeplex.com/wikipage?title=FluentMetadata%20for%20WCF%20RIA%20Services) for OpenRIAServices
* A code generator that seamlessly integrates with the code generator of OpenRIAServices.
* Requires only a minimal adaption of your data model (see StepByStepInstructions on wiki).
* Supports many-2-many relations with composite keys.
## Download
M2M4RIA is distributed as a collection of NuGet packages:
* [OpenRIAServices.M2M](https://nuget.org/packages/OpenRiaServices.M2M) This is the server-side part of M2M4RIA. It contains an entity code generator and an extension to the fluent metadata configuration for OpenRIAServices.
* [OpenRIAServices.M2M.LinkTable](https://nuget.org/packages/OpenRIAServices.M2M.LinkTable) This is a generic link table implementation that is used for creating "link table" views for your M2M relations (see [GeneralOverview](../GeneralOverview)).
* [OpenRiaServices.M2M.Client](https://nuget.org/packages/OpenRiaServices.M2M.Client) This is the client-side part of M2M4RIA. It contains classes for creating M2M views (see [GeneralOverview](../GeneralOverview)).
## Usage
1. Add the [M2M4RIA NuGet](https://nuget.org/packages?q=OpenRiaServicesM2M) packages to your solution.
2. Create LinkTable entities (By subclassing a generic LinkTable class provided by M2M4RIA).
3. Extend your data model with "link table" views.
4. Configure your M2M relations using the fluent metadata API.
5. Add Insert/Delete operations to your domain service for your link table entities
A complete step-by-step guide is provided [here](https://github.com/OpenRIAServices/OpenRiaServices.M2M/wiki/Step-by-step-instructions-for-using-M2M-with-OpenRIAServices).
## Demo
The source code repository contains a sample application that shows how M2M4RIA can be used..
## See Also
For more information and installation instructions go to https://github.com/OpenRIAServices/OpenRiaServices.M2M and check the wiki
Step by step guide is availible at the wiki