From a0ee62a7d596760c0e0fc36c75046fcf2b0e1eec Mon Sep 17 00:00:00 2001 From: marcchevaldonne Date: Thu, 29 Sep 2022 15:23:28 +0200 Subject: [PATCH] added introduction video to EFCore --- .../.docusaurus/client-manifest.json | 627 ------------------ .../.docusaurus/docusaurus.config.mjs | 344 ---------- .../docusaurus/docs/Entity-Framework/intro.md | 13 +- Documentation/docusaurus/docusaurus.config.js | 2 +- .../ex_005_002_copie_de_tableaux/Program.cs | 4 +- .../ex_026_000_ClassLibrary/Album.cs | 2 +- .../ex_026_000_ClassLibrary/Artist.cs | 6 +- .../ex_026_001_xUnit_Fact/Album_UT.cs | 17 + 8 files changed, 37 insertions(+), 978 deletions(-) delete mode 100644 Documentation/docusaurus/.docusaurus/client-manifest.json delete mode 100644 Documentation/docusaurus/.docusaurus/docusaurus.config.mjs diff --git a/Documentation/docusaurus/.docusaurus/client-manifest.json b/Documentation/docusaurus/.docusaurus/client-manifest.json deleted file mode 100644 index a9c70fd..0000000 --- a/Documentation/docusaurus/.docusaurus/client-manifest.json +++ /dev/null @@ -1,627 +0,0 @@ -{ - "entrypoints": [ - "main" - ], - "origins": { - "529": [ - 89, - 103, - 532, - 610, - 915, - 529 - ], - "915": [ - 85, - 89, - 103, - 529, - 532, - 610, - 918, - 915 - ], - "972": [ - 972 - ], - "17896441": [ - 532, - 915, - 918 - ], - "61419323": [ - 66 - ], - "main": [ - 303, - 532, - 179 - ], - "runtime~main": [ - 179, - 532, - 303 - ], - "01a85c17": [ - 532, - 13 - ], - "0e384e19": [ - 671 - ], - "14eb3368": [ - 532, - 817 - ], - "17d546e5": [ - 744 - ], - "1a4cf5a6": [ - 508 - ], - "1be78505": [ - 532, - 972 - ], - "1f391b9e": [ - 532, - 915, - 85 - ], - "393be207": [ - 414 - ], - "47a8f85a": [ - 174 - ], - "47f773d3": [ - 155 - ], - "553b77a1": [ - 769 - ], - "5e48264b": [ - 630 - ], - "5ee20ecc": [ - 39 - ], - "6875c492": [ - 529, - 532, - 915, - 610 - ], - "6af6a94a": [ - 957 - ], - "71b8442c": [ - 930 - ], - "723f5759": [ - 210 - ], - "7b660c8c": [ - 735 - ], - "814f3328": [ - 535 - ], - "82167a88": [ - 269 - ], - "82e8f913": [ - 225 - ], - "8882dd50": [ - 726 - ], - "8e1fb359": [ - 377 - ], - "935f2afb": [ - 53 - ], - "9e4087bc": [ - 608 - ], - "a5b053fd": [ - 823 - ], - "a6aa9e1f": [ - 529, - 532, - 915, - 89 - ], - "b2a93362": [ - 597 - ], - "b56df1ef": [ - 289 - ], - "c1a04c3a": [ - 142 - ], - "c325cb38": [ - 818 - ], - "c4f5d8e4": [ - 532, - 195 - ], - "ccc49370": [ - 529, - 532, - 915, - 103 - ], - "d1c2ce71": [ - 391 - ], - "d58bd024": [ - 315 - ], - "e05a34b8": [ - 399 - ], - "e764c497": [ - 765 - ], - "ec05837e": [ - 542 - ], - "f1ec5097": [ - 523 - ], - "f91011ca": [ - 676 - ], - "styles": [ - 13, - 85, - 89, - 103, - 179, - 195, - 303, - 514, - 529, - 610, - 817, - 915, - 918, - 532 - ] - }, - "assets": { - "13": { - "js": [ - { - "file": "assets/js/01a85c17.b2d6924e.js", - "hash": "e99f113d124548d8", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/01a85c17.b2d6924e.js" - } - ] - }, - "39": { - "js": [ - { - "file": "assets/js/5ee20ecc.f04fe265.js", - "hash": "01c0749ec95493b9", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/5ee20ecc.f04fe265.js" - } - ] - }, - "53": { - "js": [ - { - "file": "assets/js/935f2afb.32b31107.js", - "hash": "af4cd06025624c39", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/935f2afb.32b31107.js" - } - ] - }, - "66": { - "js": [ - { - "file": "assets/js/61419323.7e5ea537.js", - "hash": "09d0059db899e5c6", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/61419323.7e5ea537.js" - } - ] - }, - "85": { - "js": [ - { - "file": "assets/js/1f391b9e.c4f43e79.js", - "hash": "3341758495276e80", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/1f391b9e.c4f43e79.js" - } - ] - }, - "89": { - "js": [ - { - "file": "assets/js/a6aa9e1f.471c11f4.js", - "hash": "ebe5c25b169d6871", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/a6aa9e1f.471c11f4.js" - } - ] - }, - "103": { - "js": [ - { - "file": "assets/js/ccc49370.d453ab1d.js", - "hash": "806db000ef656642", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/ccc49370.d453ab1d.js" - } - ] - }, - "142": { - "js": [ - { - "file": "assets/js/c1a04c3a.10b2c0ca.js", - "hash": "5a95bcbbe10417b0", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/c1a04c3a.10b2c0ca.js" - } - ] - }, - "155": { - "js": [ - { - "file": "assets/js/47f773d3.7b182aac.js", - "hash": "caaeb4c34b650b7a", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/47f773d3.7b182aac.js" - } - ] - }, - "174": { - "js": [ - { - "file": "assets/js/47a8f85a.92d5255e.js", - "hash": "5001fb2ed8c35c31", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/47a8f85a.92d5255e.js" - } - ] - }, - "179": { - "js": [ - { - "file": "assets/js/main.c00a390f.js", - "hash": "89bdf2071a8cece4", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/main.c00a390f.js" - } - ] - }, - "195": { - "js": [ - { - "file": "assets/js/c4f5d8e4.87806d99.js", - "hash": "37649cd38b0784bd", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/c4f5d8e4.87806d99.js" - } - ] - }, - "210": { - "js": [ - { - "file": "assets/js/723f5759.2814a90e.js", - "hash": "a3da15792d1920fb", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/723f5759.2814a90e.js" - } - ] - }, - "225": { - "js": [ - { - "file": "assets/js/82e8f913.f67088fd.js", - "hash": "bccd51edfa26b52e", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/82e8f913.f67088fd.js" - } - ] - }, - "269": { - "js": [ - { - "file": "assets/js/82167a88.01192d91.js", - "hash": "0d187f5d9235df01", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/82167a88.01192d91.js" - } - ] - }, - "289": { - "js": [ - { - "file": "assets/js/b56df1ef.b9ba1abf.js", - "hash": "40ef5e280e723e28", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/b56df1ef.b9ba1abf.js" - } - ] - }, - "303": { - "js": [ - { - "file": "assets/js/runtime~main.99c6bd3c.js", - "hash": "82e67b3b49cb0fe6", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/runtime~main.99c6bd3c.js" - } - ] - }, - "315": { - "js": [ - { - "file": "assets/js/d58bd024.a47e44b2.js", - "hash": "c7366faf2c7594dd", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/d58bd024.a47e44b2.js" - } - ] - }, - "377": { - "js": [ - { - "file": "assets/js/8e1fb359.dd63536b.js", - "hash": "076033b55663c37c", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/8e1fb359.dd63536b.js" - } - ] - }, - "391": { - "js": [ - { - "file": "assets/js/d1c2ce71.5414300d.js", - "hash": "5b5d2566ad3f91ec", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/d1c2ce71.5414300d.js" - } - ] - }, - "399": { - "js": [ - { - "file": "assets/js/e05a34b8.6e1db066.js", - "hash": "1f0eb933a8ce7818", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/e05a34b8.6e1db066.js" - } - ] - }, - "414": { - "js": [ - { - "file": "assets/js/393be207.dba14468.js", - "hash": "6cc1b85ffc8e166b", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/393be207.dba14468.js" - } - ] - }, - "508": { - "js": [ - { - "file": "assets/js/1a4cf5a6.9c0d66f0.js", - "hash": "8a40972c6b43c1c3", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/1a4cf5a6.9c0d66f0.js" - } - ] - }, - "523": { - "js": [ - { - "file": "assets/js/f1ec5097.6fdf6262.js", - "hash": "f3e47dabd2ab22a5", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/f1ec5097.6fdf6262.js" - } - ] - }, - "529": { - "js": [ - { - "file": "assets/js/529.fbcd9089.js", - "hash": "bbcfe4bdd3ef59c3", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/529.fbcd9089.js" - } - ] - }, - "532": { - "css": [ - { - "file": "assets/css/styles.4f49509e.css", - "hash": "496eade64d8c61a3", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/css/styles.4f49509e.css" - } - ] - }, - "535": { - "js": [ - { - "file": "assets/js/814f3328.7fb9099f.js", - "hash": "f6d92d1575f0186f", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/814f3328.7fb9099f.js" - } - ] - }, - "542": { - "js": [ - { - "file": "assets/js/ec05837e.0308ad5b.js", - "hash": "dd9d741df8a288c5", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/ec05837e.0308ad5b.js" - } - ] - }, - "597": { - "js": [ - { - "file": "assets/js/b2a93362.20d4c5dc.js", - "hash": "b76c18385113f097", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/b2a93362.20d4c5dc.js" - } - ] - }, - "608": { - "js": [ - { - "file": "assets/js/9e4087bc.033d5b85.js", - "hash": "4c987df074009024", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/9e4087bc.033d5b85.js" - } - ] - }, - "610": { - "js": [ - { - "file": "assets/js/6875c492.6968b20d.js", - "hash": "e7f7a7e42913f083", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/6875c492.6968b20d.js" - } - ] - }, - "630": { - "js": [ - { - "file": "assets/js/5e48264b.d76cd4be.js", - "hash": "77b02d614a54eda6", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/5e48264b.d76cd4be.js" - } - ] - }, - "671": { - "js": [ - { - "file": "assets/js/0e384e19.932bac32.js", - "hash": "b34387fcf6bcb352", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/0e384e19.932bac32.js" - } - ] - }, - "676": { - "js": [ - { - "file": "assets/js/f91011ca.87004fb0.js", - "hash": "34acd1e9f2d08f56", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/f91011ca.87004fb0.js" - } - ] - }, - "726": { - "js": [ - { - "file": "assets/js/8882dd50.c0ea4578.js", - "hash": "b00ac75104bdc826", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/8882dd50.c0ea4578.js" - } - ] - }, - "735": { - "js": [ - { - "file": "assets/js/7b660c8c.b8b4f2ee.js", - "hash": "3432cf5dc538ead0", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/7b660c8c.b8b4f2ee.js" - } - ] - }, - "744": { - "js": [ - { - "file": "assets/js/17d546e5.ef034888.js", - "hash": "a0c09cbf2e36a606", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/17d546e5.ef034888.js" - } - ] - }, - "765": { - "js": [ - { - "file": "assets/js/e764c497.da6c3603.js", - "hash": "e58836079be2a81f", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/e764c497.da6c3603.js" - } - ] - }, - "769": { - "js": [ - { - "file": "assets/js/553b77a1.f6c5caae.js", - "hash": "c7ce27c752c113b8", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/553b77a1.f6c5caae.js" - } - ] - }, - "817": { - "js": [ - { - "file": "assets/js/14eb3368.5b93bcdd.js", - "hash": "67376a224558f689", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/14eb3368.5b93bcdd.js" - } - ] - }, - "818": { - "js": [ - { - "file": "assets/js/c325cb38.61b51aa2.js", - "hash": "9cba179ccff99440", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/c325cb38.61b51aa2.js" - } - ] - }, - "823": { - "js": [ - { - "file": "assets/js/a5b053fd.e7834c2f.js", - "hash": "368b1f2baf17e80c", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/a5b053fd.e7834c2f.js" - } - ] - }, - "915": { - "js": [ - { - "file": "assets/js/915.cfa0761f.js", - "hash": "185bdf82a182c861", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/915.cfa0761f.js" - } - ] - }, - "918": { - "js": [ - { - "file": "assets/js/17896441.12695fe9.js", - "hash": "8dfdf542df2a6a93", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/17896441.12695fe9.js" - } - ] - }, - "930": { - "js": [ - { - "file": "assets/js/71b8442c.f1915e06.js", - "hash": "36fbd4a0ca1a5904", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/71b8442c.f1915e06.js" - } - ] - }, - "957": { - "js": [ - { - "file": "assets/js/6af6a94a.8845daea.js", - "hash": "dd41cbfa946c75b4", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/6af6a94a.8845daea.js" - } - ] - }, - "972": { - "js": [ - { - "file": "assets/js/972.5cec2c40.js", - "hash": "c9d96d346a8c3404", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/972.5cec2c40.js" - }, - { - "file": "assets/js/1be78505.b601f816.js", - "hash": "8b78f9132df5c521", - "publicPath": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/assets/js/1be78505.b601f816.js" - } - ] - } - } -} \ No newline at end of file diff --git a/Documentation/docusaurus/.docusaurus/docusaurus.config.mjs b/Documentation/docusaurus/.docusaurus/docusaurus.config.mjs deleted file mode 100644 index 03ace53..0000000 --- a/Documentation/docusaurus/.docusaurus/docusaurus.config.mjs +++ /dev/null @@ -1,344 +0,0 @@ -/* - * AUTOGENERATED - DON'T EDIT - * Your edits in this file will be overwritten in the next build! - * Modify the docusaurus.config.js file at your site's root instead. - */ -export default { - "title": "C# .NET samples", - "tagline": "Best samples ever", - "url": "https://codefirst.iut.uca.fr", - "baseUrl": "/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/", - "onBrokenLinks": "ignore", - "onBrokenMarkdownLinks": "warn", - "favicon": "img/favicon.ico", - "trailingSlash": true, - "organizationName": "mch", - "projectName": "mchsamples-.net-core", - "i18n": { - "defaultLocale": "en", - "locales": [ - "en" - ], - "path": "i18n", - "localeConfigs": {} - }, - "presets": [ - [ - "classic", - { - "docs": { - "sidebarPath": "/Users/marcchevaldonne/Documents/temp/demos2022/mchsamples-.net-core/Documentation/docusaurus/sidebars.js", - "editUrl": "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/" - }, - "blog": { - "showReadingTime": true, - "editUrl": "https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/" - }, - "theme": { - "customCss": "/Users/marcchevaldonne/Documents/temp/demos2022/mchsamples-.net-core/Documentation/docusaurus/src/css/custom.css" - } - } - ] - ], - "themeConfig": { - "navbar": { - "title": "C# .NET samples", - "logo": { - "alt": "My Site Logo", - "src": "img/logo.svg" - }, - "items": [ - { - "type": "doc", - "docId": "intro", - "position": "left", - "label": "Samples" - }, - { - "to": "/blog", - "label": "Blog", - "position": "left" - }, - { - "href": "https://codefirst.iut.uca.fr/git/mchSamples_.NET/mchsamples-.net-core", - "label": "Code#0", - "position": "right" - } - ], - "hideOnScroll": false - }, - "footer": { - "style": "dark", - "links": [ - { - "title": "Docs", - "items": [ - { - "label": "Tutorial", - "to": "/docs/intro" - } - ] - }, - { - "title": "Community", - "items": [ - { - "label": "LinkedIn", - "href": "https://www.linkedin.com/company/code-1st/" - } - ] - }, - { - "title": "More", - "items": [ - { - "label": "Blog", - "to": "/blog" - }, - { - "label": "Code#0", - "href": "https://codefirst.iut.uca.fr/git/mchSamples_.NET/mchsamples-.net-core" - } - ] - } - ], - "copyright": "Copyright © 2022 My Project, Inc. Built with Docusaurus." - }, - "prism": { - "additionalLanguages": [ - "csharp" - ], - "theme": { - "plain": { - "color": "#393A34", - "backgroundColor": "#f6f8fa" - }, - "styles": [ - { - "types": [ - "comment", - "prolog", - "doctype", - "cdata" - ], - "style": { - "color": "#999988", - "fontStyle": "italic" - } - }, - { - "types": [ - "namespace" - ], - "style": { - "opacity": 0.7 - } - }, - { - "types": [ - "string", - "attr-value" - ], - "style": { - "color": "#e3116c" - } - }, - { - "types": [ - "punctuation", - "operator" - ], - "style": { - "color": "#393A34" - } - }, - { - "types": [ - "entity", - "url", - "symbol", - "number", - "boolean", - "variable", - "constant", - "property", - "regex", - "inserted" - ], - "style": { - "color": "#36acaa" - } - }, - { - "types": [ - "atrule", - "keyword", - "attr-name", - "selector" - ], - "style": { - "color": "#00a4db" - } - }, - { - "types": [ - "function", - "deleted", - "tag" - ], - "style": { - "color": "#d73a49" - } - }, - { - "types": [ - "function-variable" - ], - "style": { - "color": "#6f42c1" - } - }, - { - "types": [ - "tag", - "selector", - "keyword" - ], - "style": { - "color": "#00009f" - } - } - ] - }, - "darkTheme": { - "plain": { - "color": "#F8F8F2", - "backgroundColor": "#282A36" - }, - "styles": [ - { - "types": [ - "prolog", - "constant", - "builtin" - ], - "style": { - "color": "rgb(189, 147, 249)" - } - }, - { - "types": [ - "inserted", - "function" - ], - "style": { - "color": "rgb(80, 250, 123)" - } - }, - { - "types": [ - "deleted" - ], - "style": { - "color": "rgb(255, 85, 85)" - } - }, - { - "types": [ - "changed" - ], - "style": { - "color": "rgb(255, 184, 108)" - } - }, - { - "types": [ - "punctuation", - "symbol" - ], - "style": { - "color": "rgb(248, 248, 242)" - } - }, - { - "types": [ - "string", - "char", - "tag", - "selector" - ], - "style": { - "color": "rgb(255, 121, 198)" - } - }, - { - "types": [ - "keyword", - "variable" - ], - "style": { - "color": "rgb(189, 147, 249)", - "fontStyle": "italic" - } - }, - { - "types": [ - "comment" - ], - "style": { - "color": "rgb(98, 114, 164)" - } - }, - { - "types": [ - "attr-name" - ], - "style": { - "color": "rgb(241, 250, 140)" - } - } - ] - }, - "magicComments": [ - { - "className": "theme-code-block-highlighted-line", - "line": "highlight-next-line", - "block": { - "start": "highlight-start", - "end": "highlight-end" - } - } - ] - }, - "colorMode": { - "defaultMode": "light", - "disableSwitch": false, - "respectPrefersColorScheme": false - }, - "docs": { - "versionPersistence": "localStorage", - "sidebar": { - "hideable": false, - "autoCollapseCategories": false - } - }, - "metadata": [], - "tableOfContents": { - "minHeadingLevel": 2, - "maxHeadingLevel": 3 - } - }, - "baseUrlIssueBanner": true, - "onDuplicateRoutes": "warn", - "staticDirectories": [ - "static" - ], - "customFields": {}, - "plugins": [], - "themes": [], - "scripts": [], - "stylesheets": [], - "clientModules": [], - "titleDelimiter": "|", - "noIndex": false -}; diff --git a/Documentation/docusaurus/docs/Entity-Framework/intro.md b/Documentation/docusaurus/docs/Entity-Framework/intro.md index c91be32..81f3886 100644 --- a/Documentation/docusaurus/docs/Entity-Framework/intro.md +++ b/Documentation/docusaurus/docs/Entity-Framework/intro.md @@ -11,6 +11,15 @@ description: 'Start here' Entity Framework (EF) Core est un ORM (Object-Relational Mapper) qui permet aux développeurs .NET de gérer de manière simple, légère et extensible, des bases de données. EF permet de gérer de nombreux *providers* (SQL Server, SQLite, Cosmos, ...) de manière transparente. EF vous permet également de mettre à jour vos bases de données et d'exécuter des requêtes sans avoir à écrire la moindre requête SQL. Vous pouvez passer par LINQ to SQL qui apportera plus de lisibilité et permettra au compilateur de vous aider à détecter vos erreurs. + +## Vue d'ensemble + +La suite de cette section est composée d'exemples de code commentés. Pour mieux les appréhender, voici tout d'abord un ensemble de vidéos d'introduction. Leur but n'est pas d'être exhaustives, mais seulement de vous permettre de visualiser ce qu'il est possible de faire avec Entity Framework Core, et ainsi de parcourir plus efficacement les tutoriels et exemples détaillés. + +### Introduction : une base, une table, quelques requêtes... +Cette première vidéo sert d'introduction. Elle présente Entity Framework Core, comment créer une base de données, lui ajouter une table, la remplir et exécuter des requêtes. + + --- :::note @@ -19,7 +28,7 @@ Différentes solutions existent avec EF pour gérer une base de données dont le --- ## Plan Les exemples sont organisés selon le plan suivant: -1. [**Fundamentals** :](/docs/Entity-Framework/Fundamentals) +1. [**Fundamentals** :](/docs/category/1. Fundamentals) Dans cette partie, je donnerai quelques notions pour se connecter à une base à l'aide de chaîne de connection (*connection strings*), comment utiliser des *providers de tests...*. Il s'agira en conséquence d'exemples simples manquants d'explications sur certains points, car ils seront présentés plus tard. * [**1.1. Connection Strings**](/docs/Entity-Framework/Fundamentals/ConnectionStrings) : montre comment utiliser une chaîne de connexion SQL Server ou SQLite. @@ -37,7 +46,7 @@ Ce chapitre s'attardera sur le lien entre le modèle et la base de données. En * [**2.7. : Value Generation**](/docs/Entity-Framework/Model/ValueGeneration) : explique comment faire générer des valeurs automatiquement lors de l'insertion ou de la mise à jour * [**2.8 : Data Seeding before Entity Framework 2.1**](/docs/Entity-Framework/Model/DataSeedingBeforeEF2_1) : explique comment utiliser un stub (méthode qui était recommandée avant EF Core 2.1) * [**2.9 : Data Seeding**](/docs/Entity-Framework/Model/DataSeeding) : explique comment utiliser un stub (méthode recommandée depuis EF Core 2.1) - * [**Relationships**](/docs/Entity-Framework/Model/Relationships) : en cliquant [ici](/docs/Entity-Framework/Model/Relationships), vous aurez plus de détails sur les relations entre entités + * [**Relationships**](/docs/category/2.10. Relationships) : en cliquant [ici](/docs/category/2.10. RelationshipsRelationships), vous aurez plus de détails sur les relations entre entités * [**ex_042_010 : Single Property navigation with data annotations**](ex_042_010_SinglePropertyNavigation_conventions) : montre comment une relation d'association est traduite par *EF Core* lorsque cette association est unidirectionnelle entre deux entités, en utilisant les conventions d'écriture et/ou les annotations de données. * [**ex_042_011 : Single Property navigation with Fluent API**](ex_042_011_SinglePropertyNavigation_FluentAPI) : montre comment une relation d'association est traduite par *EF Core* lorsque cette association est unidirectionnelle entre deux entités, en utilisant la *FLuent API*. * [**ex_042_012 : One To One with data annotations**](ex_042_012_OneToOne_conventions) : montre comment une relation d'association *One To One* est traduite par *EF Core* lorsque cette association est bidirectionnelle entre deux entités, en utilisant l'*annotation de données*. diff --git a/Documentation/docusaurus/docusaurus.config.js b/Documentation/docusaurus/docusaurus.config.js index cc32bec..4935f70 100644 --- a/Documentation/docusaurus/docusaurus.config.js +++ b/Documentation/docusaurus/docusaurus.config.js @@ -10,7 +10,7 @@ const config = { tagline: 'Best samples ever', url: 'https://codefirst.iut.uca.fr', baseUrl: '/documentation/mchSamples_.NET/docusaurus/mchsamples-.net-core/', - onBrokenLinks: 'ignore', + onBrokenLinks: 'throw', onBrokenMarkdownLinks: 'warn', favicon: 'img/favicon.ico', trailingSlash: true, diff --git a/p02_Fondamentaux/ex_005_002_copie_de_tableaux/Program.cs b/p02_Fondamentaux/ex_005_002_copie_de_tableaux/Program.cs index cf764b6..5f5cef5 100644 --- a/p02_Fondamentaux/ex_005_002_copie_de_tableaux/Program.cs +++ b/p02_Fondamentaux/ex_005_002_copie_de_tableaux/Program.cs @@ -19,7 +19,7 @@ namespace ex_005_002_copie_de_tableaux { OutputEncoding = System.Text.Encoding.UTF8; - WindowHeight = LargestWindowHeight; + //WindowHeight = LargestWindowHeight; //COPIE DE TABLEAUX @@ -28,7 +28,7 @@ namespace ex_005_002_copie_de_tableaux //1. copie de références WriteLine("\nCopie de références\n"); //préparation des tableaux - int[] tab6 = { 1, 2, 3 }; + int[] tab6 = { 6, 2, 3 }; int[] tab7 = { 5, 6, 7, 8, 9, 10 }; WriteLine("contenu de tab6"); foreach (int i in tab6) Write($"{i} "); diff --git a/p05_More_dotNet/ex_026_000_ClassLibrary/Album.cs b/p05_More_dotNet/ex_026_000_ClassLibrary/Album.cs index d3a0117..ffbf487 100644 --- a/p05_More_dotNet/ex_026_000_ClassLibrary/Album.cs +++ b/p05_More_dotNet/ex_026_000_ClassLibrary/Album.cs @@ -4,7 +4,7 @@ using System.Collections.ObjectModel; namespace ex_026_000_ClassLibrary { - public class Album + class Album { public long Id { get; private set; } diff --git a/p05_More_dotNet/ex_026_000_ClassLibrary/Artist.cs b/p05_More_dotNet/ex_026_000_ClassLibrary/Artist.cs index 6b47e78..72456b4 100644 --- a/p05_More_dotNet/ex_026_000_ClassLibrary/Artist.cs +++ b/p05_More_dotNet/ex_026_000_ClassLibrary/Artist.cs @@ -1,7 +1,11 @@ using System; +using System.Runtime.CompilerServices; + +[assembly:InternalsVisibleTo("ex_026_001_xUnit_Fact")] + namespace ex_026_000_ClassLibrary { - public class Artist : IEquatable + class Artist : IEquatable { public string FirstName { diff --git a/p05_More_dotNet/ex_026_001_xUnit_Fact/Album_UT.cs b/p05_More_dotNet/ex_026_001_xUnit_Fact/Album_UT.cs index c9581c9..c90deab 100644 --- a/p05_More_dotNet/ex_026_001_xUnit_Fact/Album_UT.cs +++ b/p05_More_dotNet/ex_026_001_xUnit_Fact/Album_UT.cs @@ -26,6 +26,23 @@ namespace ex_026_001_xUnit_Fact new Artist("Ron", "Carter")), new Artist("Tony", "Williams") }; + yield return new object[] + { + false, + new Artist[] + { + new Artist("Miles", "Davis"), + new Artist("Wayne", "Shorter"), + new Artist("Herbie", "Hancock"), + new Artist("Ron", "Carter") + }, + new Album("Miles Smiles", new DateTime(1967, 1, 1), + new Artist("Miles", "Davis"), + new Artist("Wayne", "Shorter"), + new Artist("Herbie", "Hancock"), + new Artist("Ron", "Carter")), + new Artist("Ron", "Carter") + }; } [Theory]