{"id":55000137,"date":"2018-08-01T00:00:00","date_gmt":"2020-03-27T19:32:49","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=137"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"EDM_1nBeziehungen_per_Code_First","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/","title":{"rendered":"EDM: 1:n-Beziehungen per Code First"},"content":{"rendered":"<p><b>Im Artikel &#8220;EDM: Der Code First-Ansatz&#8221; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf&uuml;r sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank &uuml;bertragen werden.<\/b><\/p>\n<h2>Vorbereitungen<\/h2>\n<p>F&uuml;r diesen Artikel nutzen wir ein Projekt auf Basis der Vorlage <b>Visual C#|Windows Desktop|WPF-App<\/b> namens <b>CustomerManagement<\/b>. Die Techniken lassen sich aber auch in Projekten auf Basis anderer Vorlagen nutzen, beispielsweise in Webanwendungen. <\/p>\n<p>F&uuml;gen Sie dem Projekt ein ADO.NET Entity Data Model hinzu.<\/p>\n<ul>\n<li>Dazu bet&auml;tigen Sie den Kontextmen&uuml;-Eintrag <b>Hinzuf&uuml;gen|Neues Element <\/b>des Projekt-Eintrags im Projektmappen-Explorer.<\/li>\n<li>Im nun erscheinenden Dialog <b>Neues Element hinzuf&uuml;gen <\/b>w&auml;hlen Sie den Eintrag <b>ADO.NET Entity Data Model <\/b>aus. Das Element benennen wir mit <b>CustomerManagementContext<\/b>.<\/li>\n<li>W&auml;hlen Sie im folgenden Dialog die Option <b>Leeres Code First-Modell <\/b>aus.<\/li>\n<\/ul>\n<p>Damit erstellt der Assistent nun eine neue Klasse namens <b>CustomerManagementContext.cs<\/b>, die ein paar auskommentierte Beispielanweisungen enth&auml;lt. Au&szlig;erdem finden Sie in der Datei <b>App.conf <\/b>ein Element namens <b>connectionStrings<\/b>. Hier passen wir den Namen der zu erstellenden Datenbank mit dem Attribut <b>initial catalog <\/b>auf <b>CustomerManagement <\/b>an:<\/p>\n<pre>&lt;connectionStrings&gt;\r\n   &lt;add name=\"CustomerManagementContext\" connectionString=\"data source=(LocalDb)\\MSSQLLocalDB;               initial catalog=CustomerManagement;integrated security=True;MultipleActiveResultSets=True;               App=EntityFramework\" providerName=\"System.Data.SqlClient\" \/&gt;\r\n&lt;\/connectionStrings&gt;<\/pre>\n<p>Dadurch wird die Datenbank beim Erstellen CustomerManagement benannt.<\/p>\n<h2>Beispiel<\/h2>\n<p>Unser einfaches Beispiel soll eine Klasse namens <b>Customer <\/b>und eine namens <b>Salutation <\/b>enthalten und daraus die Tabellen <b>Customers <\/b>und <b>Salutations <\/b>erzeugen, die &uuml;ber ein Feld <b>SalutationID <\/b>der Tabelle <b>Customers <\/b>und das gleichnamige Feld der Tabelle <b>Salutations <\/b>miteinander verkn&uuml;pft sind.<\/p>\n<h2>Klassen erstellen und DbContext einrichten<\/h2>\n<p>Zur Erinnerung: Wir k&ouml;nnen die einzelnen Klassen direkt in der Klassendatei <b>CustomerManagementContext.cs <\/b>unterbringen, aber auch in jeweils einer eigenen Datei. In letzterem Fall w&uuml;rden wir die Klassen aus Gr&uuml;nden der &Uuml;bersicht in einem Unterverzeichnis namens <b>Model <\/b>anlegen. Dieses Verzeichnis f&uuml;gen wir &uuml;ber den Kontextmen&uuml;-Eintrag <b>Hinzuf&uuml;gen|Neuer Ordner <\/b>zum Projektordner hinzu. Dann legen wir darin eine neue Klassendatei namens <b>Customer.cs <\/b>an. Dadurch wird f&uuml;r diese Klasse automatisch der Namespace <b>CustomerManagement.Models <\/b>festgelegt, was wir sp&auml;ter noch ber&uuml;cksichtigen m&uuml;ssen. Wir &auml;ndern die Sichtbarkeit der Klasse auf &ouml;ffentlich (<b>public<\/b>) und f&uuml;gen ein paar Felder hinzu &#8211; unter anderem ein Feld namens <b>ID<\/b>, das sp&auml;ter als Prim&auml;rschl&uuml;sselfeld verwendet werden soll und eines namens <b>SalutationID<\/b>, das als Fremdschl&uuml;sselfeld zur Tabelle <b>Salutations <\/b>zum Einsatz kommt:<\/p>\n<pre>namespace CustomerManagement.Models {\r\n     public class Customer {\r\n         public int ID { get; set; }\r\n         public string Company { get; set; }\r\n         public string FirstName { get; set; }\r\n         public string LastName { get; set; }\r\n         public int SalutationID { get; set; }\r\n     }\r\n}<\/pre>\n<p>Auf die gleiche Weise erzeugen wir eine Klasse f&uuml;r die Anreden, die wir Salutation nennen. Auch diese legen wir im Verzeichnis <b>Models <\/b>an und stellen die Sichtbarkeit auf &ouml;ffentlich ein. Dieses Klasse soll die Felder <b>ID <\/b>und <b>Name <\/b>erhalten:<\/p>\n<pre>namespace CustomerManagement.Models {\r\n     public class Salutation {\r\n         public int ID { get; set; }\r\n         public string Name { get; set; }\r\n     }\r\n}<\/pre>\n<p>Nun m&uuml;ssen wir noch die <b>DbSet<\/b>-Elemente in der Klasse <b>CustomerManagementContext <\/b>hinzuf&uuml;gen. Damit wir dabei auf die Klassen <b>Customer <\/b>und <b>Salutation <\/b>als Datentypen der Auflistungen zugreifen k&ouml;nnen, machen wir den Namespace <b>CustomerManagement.Models <\/b>mit der <b>using<\/b>-Anweisung verf&uuml;gbar:<\/p>\n<pre>namespace CustomerManagement {\r\n     ...\r\n     using CustomerManagement.Models;<\/pre>\n<p>Dann folgt die eigentliche Klasse mit dem zun&auml;chst leeren Konstruktor:<\/p>\n<pre>     public class CustomerManagementContext : DbContext {\r\n         public CustomerManagementContext() : base(\"name=CustomerManagementContext\") {\r\n         }<\/pre>\n<p>Diese enth&auml;lt dann schlie&szlig;lich die <b>DbSet<\/b>-Elemente f&uuml;r die <b>Customers<\/b>&#8211; und die <b>Salutations<\/b>-Auflistungen:<\/p>\n<pre>         public virtual DbSet&lt;Salutation&gt; Salutations { get; set; }\r\n         public virtual DbSet&lt;Customer&gt; Customers { get; set; }\r\n     }\r\n}<\/pre>\n<p>Damit haben wir die Voraussetzungen geschaffen, erstmalig die Datenbank zu erstellen. Das erledigen wir initial mit den drei folgenden Anweisungen, die wir in der Paket-Manager-Konsole absetzen. Die erste lautet wie folgt und aktiviert die Migration zum Datenbankserver. Dabei wird ein Verzeichnis namens <b>Migrations<\/b> erstellt sowie eine Datei namens <b>Configurations.cs<\/b>, die unter anderem die <b>Seed<\/b>-Methode enth&auml;lt, in der Sie Anweisungen zum F&uuml;llen der erzeugten Tabellen mit Daten hinzuf&uuml;gen k&ouml;nnen (dieser Befehl ist ab Version 2.1 nicht mehr n&ouml;tig):<\/p>\n<pre>enable-migrations<\/pre>\n<p>Die zweite erstellt den Code f&uuml;r die initiale Migration. Dieser wird in der Datei angelegt, die mit einer Zahl beginnt und mit <b>&#8230;Init.cs <\/b>endet:<\/p>\n<pre>add-migration Init<\/pre>\n<p>Nun m&uuml;ssen Sie die Migration nur noch aufrufen, was Sie zum Beispiel mit der folgenden Anweisung erledigen:<\/p>\n<pre>update-database<\/pre>\n<p>Alternativ k&ouml;nnen Sie daf&uuml;r sorgen, dass die Migrationen beim Start der Anwendung automatisch durchgef&uuml;hrt werden. Dazu rufen Sie einmalig den folgenden Befehl in der Paket-Manager-Konsole auf:<\/p>\n<pre>enable-migrations -EnableAutomaticMigration:$true <\/pre>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000\"><a style=\"color: #ff0000\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000137\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000137?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000137\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"d3fdc23a4e\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Artikel &#8220;EDM: Der Code First-Ansatz&#8221; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf&uuml;r sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank &uuml;bertragen werden.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662018,66042018,44000021],"tags":[],"yst_prominent_words":[],"class_list":["post-55000137","post","type-post","status-publish","format-standard","hentry","category-662018","category-66042018","category-Entity_Framework"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Im Artikel &quot;EDM: Der Code First-Ansatz&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \u00fcbertragen werden.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andr\u00e9 Minhorst\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Im Artikel &quot;EDM: Der Code First-Ansatz&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \u00fcbertragen werden.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-27T19:32:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"-001-11-30T00:00:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Im Artikel &quot;EDM: Der Code First-Ansatz&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \u00fcbertragen werden.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#blogposting\",\"name\":\"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler\",\"headline\":\"EDM: 1:n-Beziehungen per Code First\",\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"..\\\/fileadmin\\\/_temp_\\\/2018_04\\\/pic_137_001.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#articleImage\"},\"datePublished\":\"2018-08-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#webpage\"},\"articleSection\":\"2018, 4\\\/2018, Entity Framework\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vbentwickler.de\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/#listItem\",\"name\":\"2018\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/#listItem\",\"position\":2,\"name\":\"2018\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/4\\\/2018\\\/#listItem\",\"name\":\"4\\\/2018\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/4\\\/2018\\\/#listItem\",\"position\":3,\"name\":\"4\\\/2018\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/4\\\/2018\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#listItem\",\"name\":\"EDM: 1:n-Beziehungen per Code First\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/#listItem\",\"name\":\"2018\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#listItem\",\"position\":4,\"name\":\"EDM: 1:n-Beziehungen per Code First\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/4\\\/2018\\\/#listItem\",\"name\":\"4\\\/2018\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-header_vbe-1.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andr\\u00e9 Minhorst\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/\",\"name\":\"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler\",\"description\":\"Im Artikel \\\"EDM: Der Code First-Ansatz\\\" haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \\u00fcbertragen werden.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_1nBeziehungen_per_Code_First\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"datePublished\":\"2018-08-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler","description":"Im Artikel \"EDM: Der Code First-Ansatz\" haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \u00fcbertragen werden.","canonical_url":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#blogposting","name":"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler","headline":"EDM: 1:n-Beziehungen per Code First","author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"},"image":{"@type":"ImageObject","url":"..\/fileadmin\/_temp_\/2018_04\/pic_137_001.png","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#articleImage"},"datePublished":"2018-08-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#webpage"},"articleSection":"2018, 4\/2018, Entity Framework"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","position":1,"name":"Home","item":"https:\/\/vbentwickler.de","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2018\/#listItem","name":"2018"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2018\/#listItem","position":2,"name":"2018","item":"https:\/\/vbentwickler.de\/category\/2018\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2018\/4\/2018\/#listItem","name":"4\/2018"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2018\/4\/2018\/#listItem","position":3,"name":"4\/2018","item":"https:\/\/vbentwickler.de\/category\/2018\/4\/2018\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#listItem","name":"EDM: 1:n-Beziehungen per Code First"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2018\/#listItem","name":"2018"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#listItem","position":4,"name":"EDM: 1:n-Beziehungen per Code First","previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2018\/4\/2018\/#listItem","name":"4\/2018"}}]},{"@type":"Organization","@id":"https:\/\/vbentwickler.de\/#organization","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","url":"https:\/\/vbentwickler.de\/","logo":{"@type":"ImageObject","url":"https:\/\/vbentwickler.de\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author","url":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andr\u00e9 Minhorst"}},{"@type":"WebPage","@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#webpage","url":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/","name":"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler","description":"Im Artikel \"EDM: Der Code First-Ansatz\" haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \u00fcbertragen werden.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/#breadcrumblist"},"author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"creator":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"datePublished":"2018-08-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00"},{"@type":"WebSite","@id":"https:\/\/vbentwickler.de\/#website","url":"https:\/\/vbentwickler.de\/","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","inLanguage":"de-DE","publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","og:type":"article","og:title":"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler","og:description":"Im Artikel &quot;EDM: Der Code First-Ansatz&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \u00fcbertragen werden.","og:url":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/","og:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","og:image:secure_url":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","article:published_time":"2020-03-27T19:32:49+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"EDM: 1:n-Beziehungen per Code First - Visual Basic Entwickler","twitter:description":"Im Artikel &quot;EDM: Der Code First-Ansatz&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks ein Datenmodell per Klassenmodell programmieren und dann mit ein paar Befehlen daf\u00fcr sorgen, dass die Klassen in Form eines Datenmodells in einer Datenbank umgesetzt werden. Im vorliegenden Artikel schauen wir uns nun im Detail an, wie Sie 1:n-Beziehungen mit Code First definieren, die dann in die Zieldatenbank \u00fcbertragen werden.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000137","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2024-01-30 15:55:33","updated":"2026-05-16 08:31:47","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2018\/\" title=\"2018\">2018<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2018\/4\/2018\/\" title=\"4\/2018\">4\/2018<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tEDM: 1:n-Beziehungen per Code First\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/vbentwickler.de"},{"label":"2018","link":"https:\/\/vbentwickler.de\/category\/2018\/"},{"label":"4\/2018","link":"https:\/\/vbentwickler.de\/category\/2018\/4\/2018\/"},{"label":"EDM: 1:n-Beziehungen per Code First","link":"https:\/\/vbentwickler.de\/EDM_1nBeziehungen_per_Code_First\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000137"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000137\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000137"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}