{"id":55000138,"date":"2018-08-01T00:00:00","date_gmt":"2020-03-27T19:32:55","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=138"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"EDM_11Beziehungen_per_Code_First","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_per_Code_First\/","title":{"rendered":"EDM: 1:1-Beziehungen per Code First"},"content":{"rendered":"<p><b>Im Artikel &#8220;EDM: 1:n-Beziehungen per Code First&#8221; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteinander per 1:n-Beziehung verkn&uuml;pfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f&uuml;r die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.<\/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>EDMConfigure11<\/b>. Die Techniken lassen sich aber auch in Projekten auf Basis anderer Vorlagen nutzen, beispielsweise in Webanwendungen.  Wir f&uuml;gen wie im Artikel EDM: 1:n-Beziehungen per Code First ein ADO.NET Entity Data Model hinzu, wieder namens <b>CustomerManagementContext<\/b>, und starten auch hier wieder mit einem leeren Code First-Modell. Das Attribut <b>initial catalog <\/b>in der Verbindungszeichenfolge in der Datei <b>App.conf <\/b>stellen wir auf <b>EDMConfigure11.CustomerManagement <\/b>ein. <\/p>\n<h2>Beispiel<\/h2>\n<p>Unser einfaches Beispiel soll eine Klasse namens <b>Customer <\/b>und eine namens <b>CustomerInvoiceAddress <\/b>enthalten und daraus die Tabellen <b>Customers <\/b>und <b>CustomerInvoiceAddresses <\/b>erzeugen, die &uuml;ber die Felder <b>ID <\/b>der Tabelle <b>Customers <\/b>und das gleichnamige Feld der Tabelle <b>CustomerInvoiceAddresses <\/b>miteinander verkn&uuml;pft sind.<\/p>\n<h2>Klassen erstellen und DbContext einrichten<\/h2>\n<p>In einem neuen Verzeichnis namens <b>Data <\/b>legen wir die als &ouml;ffentlich deklarierte Klasse namens <b>Customer.cs <\/b>mit dem folgenden Code an:<\/p>\n<pre>namespace CustomerManagement.Data {\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     }\r\n}<\/pre>\n<p>Auf die gleiche Weise erzeugen wir eine Klasse f&uuml;r die Rechnungsadressen, die wir <b>CustomerInvoiceAddress <\/b>nennen. Auch diese legen wir im Verzeichnis <b>Data <\/b>an und stellen die Sichtbarkeit auf &ouml;ffentlich ein:<\/p>\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.Data <\/b>mit der <b>using<\/b>-Anweisung verf&uuml;gbar:<\/p>\n<pre>namespace EDMConfigure11.Data {\r\n     public class CustomerInvoiceAddress {\r\n         public int ID { get; set; }\r\n         public string Street { get; set; }\r\n         public string Zip { get; set; }\r\n         public string City { get; set; }\r\n     }\r\n}<\/pre>\n<p>Die Datei <b>CustomerManagementContext.cs <\/b>passen wir nun wie folgt an. Dabei f&uuml;gen wir per <b>using<\/b>-Anweisung den Namespace <b>EDMConfigure11.Data <\/b>an, damit wir auf die in dem Verzeichnis <b>Data <\/b>enthaltenen Klassen, die dort auch mit dem entsprechenden Namespace versehen sind, zugreifen k&ouml;nnen. Au&szlig;erdem erweitern wir die Klasse um die beiden <b>DbSet<\/b>-Elemente namens <b>Customers <\/b>und <b>CustomersInvoiceAddresses<\/b>:<\/p>\n<pre>namespace EDMConfigure11 {\r\n     ...\r\n     using EDMConfigure11.Data;\r\n     public class CustomerManagementContext : DbContext {\r\n         public CustomerManagementContext()\r\n             : base(\"name=CustomerManagementContext\") {\r\n         }\r\n         public virtual DbSet&lt;Customer&gt; Customers { get; set; }\r\n         public virtual DbSet&lt;CustomerInvoiceAddress&gt; CustomerInvoiceAddresses { get; set; }\r\n     }\r\n}<\/pre>\n<h2>Datenbank erstellen<\/h2>\n<p>Nun migrieren wir die Klassen erstmals in die Zieldatenbank, die noch zu erstellen ist. Um das Migrieren aus dem Projekt heraus zu erm&ouml;glichen, rufen wir zun&auml;chst die folgende Anweisung in der Paket-Manager-Konsole auf, was das Verzeichnis <b>Migrations <\/b>mit der Datei <b>Configure.cs <\/b>erstellt:<\/p>\n<pre>enable-migrations<\/pre>\n<p>Dann erstellen wir das Skript f&uuml;r die erste Migration, was eine Datei zum Verzeichnis <b>Migrations <\/b>hinzuf&uuml;gt, die auf <b>_Init.cs <\/b>endet:<\/p>\n<pre>add-migration Init<\/pre>\n<p>Schlie&szlig;lich erstellen wir erstmalig die Datenbank:<\/p>\n<pre>update-database<\/pre>\n<p>Dies erstellt die beiden Tabellen <b>Customers <\/b>und <b>CustomerInvoiceAddresses <\/b>in der neuen Datenbank <b>EDMConfigure11.CustomerManagement<\/b>. Allerdings enthalten diese noch keinerlei Beziehung zueinander, wie Bild 1 zeigt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2018_04\/pic_138_001.png\" alt=\"Definitionen der Tabellen Customers und CustomerInvoiceAddresses\" width=\"649,559\" height=\"322,3002\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Definitionen der Tabellen Customers und CustomerInvoiceAddresses<\/span><\/b><\/p>\n<h2>1:1-Beziehung erzeugen<\/h2>\n<p>Wenn wir bei der 1:n-Beziehung der Klasse, welche die Seite der Beziehung mit dem Fremdschl&uuml;sselfeld der Beziehung bilden soll, eine Eigenschaft des Typs der zu verkn&uuml;pfenden Klasse zugewiesen haben, kann dies auch hier nicht verkehrt sein. Also f&uuml;gen wir die Eigenschaft <b>CustomerInvoiceAddress <\/b>mit dem entsprechenden Namen zu <b>Customer.cs <\/b>hinzu:<\/p>\n<pre>public class Customer {\r\n     public int ID { get; set; }\r\n     ...\r\n     public CustomerInvoiceAddress CustomerInvoiceAddress { get; set; }\r\n}<\/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\/55000138\/\">\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\/55000138?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\/55000138\/\"\/>\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: 1:n-Beziehungen per Code First&#8221; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn&uuml;pfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f&uuml;r die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.<\/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-55000138","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: 1:n-Beziehungen per Code First&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.\" \/>\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_11Beziehungen_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:1-Beziehungen per Code First - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Im Artikel &quot;EDM: 1:n-Beziehungen per Code First&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/EDM_11Beziehungen_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:55+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:1-Beziehungen per Code First - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Im Artikel &quot;EDM: 1:n-Beziehungen per Code First&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.\" \/>\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_11Beziehungen_per_Code_First\\\/#blogposting\",\"name\":\"EDM: 1:1-Beziehungen per Code First - Visual Basic Entwickler\",\"headline\":\"EDM: 1:1-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_138_001.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_11Beziehungen_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_11Beziehungen_per_Code_First\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_11Beziehungen_per_Code_First\\\/#webpage\"},\"articleSection\":\"2018, 4\\\/2018, Entity Framework\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_11Beziehungen_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_11Beziehungen_per_Code_First\\\/#listItem\",\"name\":\"EDM: 1:1-Beziehungen per Code First\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2018\\\/#listItem\",\"name\":\"2018\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_11Beziehungen_per_Code_First\\\/#listItem\",\"position\":4,\"name\":\"EDM: 1:1-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_11Beziehungen_per_Code_First\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_11Beziehungen_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_11Beziehungen_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_11Beziehungen_per_Code_First\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_11Beziehungen_per_Code_First\\\/\",\"name\":\"EDM: 1:1-Beziehungen per Code First - Visual Basic Entwickler\",\"description\":\"Im Artikel \\\"EDM: 1:n-Beziehungen per Code First\\\" haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/EDM_11Beziehungen_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:1-Beziehungen per Code First - Visual Basic Entwickler","description":"Im Artikel \"EDM: 1:n-Beziehungen per Code First\" haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.","canonical_url":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_per_Code_First\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_per_Code_First\/#blogposting","name":"EDM: 1:1-Beziehungen per Code First - Visual Basic Entwickler","headline":"EDM: 1:1-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_138_001.png","@id":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_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_11Beziehungen_per_Code_First\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_per_Code_First\/#webpage"},"articleSection":"2018, 4\/2018, Entity Framework"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_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_11Beziehungen_per_Code_First\/#listItem","name":"EDM: 1:1-Beziehungen per Code First"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2018\/#listItem","name":"2018"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_per_Code_First\/#listItem","position":4,"name":"EDM: 1:1-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_11Beziehungen_per_Code_First\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_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_11Beziehungen_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_11Beziehungen_per_Code_First\/#webpage","url":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_per_Code_First\/","name":"EDM: 1:1-Beziehungen per Code First - Visual Basic Entwickler","description":"Im Artikel \"EDM: 1:n-Beziehungen per Code First\" haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_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:1-Beziehungen per Code First - Visual Basic Entwickler","og:description":"Im Artikel &quot;EDM: 1:n-Beziehungen per Code First&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.","og:url":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_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:55+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"EDM: 1:1-Beziehungen per Code First - Visual Basic Entwickler","twitter:description":"Im Artikel &quot;EDM: 1:n-Beziehungen per Code First&quot; haben wir gezeigt, wie Sie unter Nutzung des Entity Frameworks zwei Klassen so gestalten, dass diese beim Migrieren in einer SQL Server-Datenbank in zwei miteiander per 1:n-Beziehung verkn\u00fcpfte Tabellen umgewandelt werden. Die 1:1-Beziehung ist ein Spezialfall der 1:n-Beziehung, f\u00fcr die eine kleine Sonderbehandlung notwendig ist. Wie des gelingt, zeigt der vorliegende Beitrag.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000138","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:1-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:1-Beziehungen per Code First","link":"https:\/\/vbentwickler.de\/EDM_11Beziehungen_per_Code_First\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000138","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=55000138"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000138\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000138"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}