{"id":55000075,"date":"2017-02-01T00:00:00","date_gmt":"2020-03-27T19:24:55","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=75"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Anwendung_von_SQL_Server_zu_SQLite_wechseln","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Anwendung_von_SQL_Server_zu_SQLite_wechseln\/","title":{"rendered":"Anwendung von SQL Server zu SQLite wechseln"},"content":{"rendered":"<p><b>Die aktuelle Beispieldatenbank zu diesem Magazin namens Bestellverwaltung verwendet bisher eine SQL Server-Datenbank gleichen Namens als Datenbank. Nun wollen wir f&uuml;r kommende Beispiele auf SQLite als Datenbanksystem wechseln, da es schlanker und f&uuml;r Beispiele perfekt geeignet ist. In diesem Zuge macht es Sinn, einmal zu betrachten, wie Sie das Entity Data Model f&uuml;r Ihre Datenbankanwendung wechseln und die Anwendung anschlie&szlig;end wie zuvor weiter verwenden k&ouml;nnen.<\/b><\/p>\n<p>Die Ausgangsposition ist also die Beispieldatenbank, die wir in Ausgabe 6\/2016 zuletzt aktualisiert haben und die per Ribbon die Bearbeitung von Kunden erm&ouml;glicht. Wie k&ouml;nnen wir f&uuml;r diese Datenbankanwendung, die auf einem Entity Data Model auf Bais der SQL Server-Datenbank Bestellverwaltung basiert, ein Entity Data Model auf Basis einer anderen Datenbank eines anderen Datenbanksystems erstellen<\/p>\n<p>Als Erstes f&uuml;gen wir, weil wir mit SQLite arbeiten wollen, mit dem NuGet-Paket-Manager das Paket System.Data.SQLite zum Projekt hinzu (Vorgehensweise hierzu und Details zu den folgenden Schritten siehe Artikel SQLite als Backend).<\/p>\n<h2>Pr&uuml;fen, ob SQLite-Provider da ist<\/h2>\n<p>Die n&auml;chsten Schritte probieren Sie zun&auml;chst einmal aus, um zu ermitteln, ob der SQLite-Provider verf&uuml;gbar ist &#8211; falls ja, entfernen wir vor dem tats&auml;chlichen Hinzuf&uuml;gen des Entity Data Models auf Basis der SQLite-Datenbank anschlie&szlig;end erst das vorhandene Entity Data Model. Zum Testen f&uuml;gen wir &uuml;ber den Dialog Neues Element hinzuf&uuml;gen (Men&uuml;eintrag Projekt|Neues Element hinzuf&uuml;gen) ein neues Entity Data Model namens BestellverwaltungEntities hinzu. Beim Schritt W&auml;hlen Sie Ihre Datenverbindung aus klicken Sie auf Neue Verbindung&#8230; und finden dann den Dialog aus Bild 1 vor, der den erwarteten SQLite-Eintrag nun eventuell nicht anzeigt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2017_01\/pic_75_001.png\" alt=\"Der SQLite-Provider fehlt.\" width=\"424,7115\" height=\"287,3545\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Der SQLite-Provider fehlt.<\/span><\/b><\/p>\n<p>In diesem Fall gehen Sie wie folgt vor:<\/p>\n<ul>\n<li>&Ouml;ffnen Sie die Datei App.config.<\/li>\n<li>Suchen Sie den folgenden Eintrag und entfernen Sie den kursiv gedruckten Teil:<\/li>\n<\/ul>\n<pre>&lt;xml version=\"1.0\" encoding=\"utf-8\"&gt;\r\n&lt;configuration&gt;\r\n   ...\r\n   &lt;system.data&gt;\r\n     &lt;DbProviderFactories&gt;\r\n       &lt;remove invariant=\"System.Data.SQLite.EF6\" \/&gt;\r\n       &lt;add name=\"SQLite Data Provider (Entity Framework 6)\" ...           type=\"System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6\" \/&gt;\r\n       &lt;remove invariant=\"System.Data.SQLite\" \/&gt;\r\n       &lt;add name=\"SQLite Data Provider\" ... type=\"System.Data.SQLite.SQLiteFactory, System.Data.SQLite\" \/&gt;\r\n     &lt;\/DbProviderFactories&gt;\r\n   &lt;\/system.data&gt;\r\n&lt;\/configuration&gt;<\/pre>\n<ul>\n<li>Kompilieren Sie die Anwendung.<\/li>\n<li>Versuchen Sie erneut, das Entity Data Model hinzuzuf&uuml;gen, was diesmal gelingen sollte.<\/li>\n<\/ul>\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\/55000075\/\">\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\/55000075?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<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000075\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"123b777de9\"\/>\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>Die aktuelle Beispieldatenbank zu diesem Magazin namens Bestellverwaltung verwendet bisher eine SQL Server-Datenbank gleichen Namens als Datenbank. Nun wollen wir f&uuml;r kommende Beispiele auf SQLite als Datenbanksystem wechsen, da es schlanker und f&uuml;r Beispiele perfekt geeignet ist. In diesem Zuge macht es Sinn, einmal zu betrachten, wie Sie das Entity Data Model f&uuml;r Ihre Datenbankanwendung wechseln und die Anwendung anschlie&szlig;end wie zuvor weiter verwenden k&ouml;nnen.<\/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":[66012017,662017,44000027,44000006],"tags":[],"yst_prominent_words":[],"class_list":["post-55000075","post","type-post","status-publish","format-standard","hentry","category-66012017","category-662017","category-Excel_programmieren","category-SQL_Server_und_Co"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000075","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=55000075"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000075\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000075"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000075"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000075"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}