{"id":2701,"date":"2020-07-22T15:30:00","date_gmt":"2020-07-22T18:30:00","guid":{"rendered":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/?p=2701"},"modified":"2025-09-02T15:08:07","modified_gmt":"2025-09-02T18:08:07","slug":"entity-framework","status":"publish","type":"post","link":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/2020\/07\/22\/entity-framework","title":{"rendered":"Entity Framework"},"content":{"rendered":"\n<section id=\"h.296a328d7a585a92_228\" class=\"yaqOZd\">\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W \">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c\">\n<div id=\"h.296a328d7a585a92_34\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Ol\u00e1 Pessoal, nessa edi\u00e7\u00e3o do PET Reda\u00e7\u00e3o iremos aprender um pouco sobre uma das principais ferramentas de mapeamento objeto-relacional para C#, o <strong>Entity Framework<\/strong>. Mas enfim, o que \u00e9 Mapeamento objeto-relacional e o que \u00e9 Entity Framework? Continue lendo para conhecer mais sobre este assunto.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_46\" class=\"yaqOZd\">\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W \">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_43\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<div id=\"h.k2z1f7syf0a0\" class=\"GV3q8e aP9Z7e\">\u00a0<\/div>\n<div class=\"CjVfdc\">\n<div class=\"PPhIP rviiZ\">\n<div class=\"U26fgb mUbCce fKz7Od LRAOtb rm120e\" role=\"presentation\" aria-describedby=\"h.k2z1f7syf0a0\" aria-label=\"Copiar link do t\u00edtulo\" data-tooltip=\"Copiar link do t\u00edtulo\" aria-hidden=\"true\" data-tooltip-position=\"top\" data-tooltip-vertical-offset=\"12\" data-tooltip-horizontal-offset=\"0\">\n<div class=\"VTBa7b MbhUzd\">\u00a0<\/div>\n<\/div>\n<\/div>\n<strong><span class=\" OGiC0d\">O que \u00e9 mapeamento objeto-relacional? <\/span><\/strong><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"oKdM2c\">\n<div id=\"h.296a328d7a585a92_47\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">O\u00a0<strong>ORM<\/strong>\u00a0(object-relational mapping) \u00e9 uma t\u00e9cnica que visa aproximar a ideia do desenvolvimento orientado a objetos, normalmente utilizada em aplica\u00e7\u00f5es, ao modelo relacional do banco de dados, mapeando os dados a partir de classes e vice-versa. Dessa forma, pode-se economizar tempo desenvolvendo sua base de dados na mesma linguagem usada na aplica\u00e7\u00e3o, sem necessidade de escrever instru\u00e7\u00f5es SQL.<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Existem ORMs para as mais diversas linguagens de programa\u00e7\u00e3o, por\u00e9m hoje vamos conhecer um em espec\u00edfico, o Entity Framework.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_56\" class=\"yaqOZd\">\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W \">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_53\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<div id=\"h.du05h97x54kj\" class=\"GV3q8e aP9Z7e\">\u00a0<\/div>\n<div class=\"CjVfdc\">\n<div class=\"PPhIP rviiZ\">\n<div class=\"U26fgb mUbCce fKz7Od LRAOtb rm120e\" role=\"presentation\" aria-describedby=\"h.du05h97x54kj\" aria-label=\"Copiar link do t\u00edtulo\" data-tooltip=\"Copiar link do t\u00edtulo\" aria-hidden=\"true\" data-tooltip-position=\"top\" data-tooltip-vertical-offset=\"12\" data-tooltip-horizontal-offset=\"0\">\n<div class=\"VTBa7b MbhUzd\">\u00a0<\/div>\n<\/div>\n<\/div>\n<strong><span class=\" OGiC0d\">O que \u00e9 Entity Framework? <\/span><\/strong><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"oKdM2c\">\n<div id=\"h.296a328d7a585a92_57\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">O\u00a0<strong>Entity Framework<\/strong>\u00a0\u00e9 um exemplo de ORM. Desenvolvido para aplica\u00e7\u00f5es C#, ele possui tr\u00eas estrat\u00e9gias para relacionar-se com o banco de dados: Database First, Model First e Code First.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"oKdM2c\">\n<div id=\"h.296a328d7a585a92_59\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<ol class=\"n8H08c BKnRcf\">\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><strong>Database First:\u00a0<\/strong>Tem a fun\u00e7\u00e3o de auxiliar projetos que j\u00e1 possuem um banco de dados estabelecido, realizando uma engenharia-reversa, criando um modelo de dados, chamado\u00a0<strong>EDM<\/strong>\u00a0(Entity Data Model), que \u00e9 uma representa\u00e7\u00e3o visual da base de dados, baseado em XML. Por fim, resultando nas classes necess\u00e1rias, de acordo com as tabelas no banco de dados.<\/p>\n<\/li>\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><strong>Model First:\u00a0<\/strong>Muito semelhante ao Database First, pois tamb\u00e9m \u00e9 focado no desenvolvimento gr\u00e1fico com\u00a0<strong>EDM<\/strong>, mas, diferentemente, o Model First \u00e9 utilizado quando a base de dados ainda n\u00e3o est\u00e1 criada. Dessa forma, todas as tabelas e relacionamentos s\u00e3o feitos visualmente.<\/p>\n<\/li>\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><strong>Code First:\u00a0<\/strong>\u00c9 o mais distante dos \u00faltimos vistos, pois o foco \u00e9 totalmente no desenvolvimento. Ao contr\u00e1rio do Database First, primeiramente, cria-se as classes, ent\u00e3o o EntityFramework cria sua base de dados e suas tabelas, baseado nas classes desenvolvidas.<\/p>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_64\" class=\"yaqOZd\">\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W \">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_61\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<div id=\"h.d1itz2a7wj2q\" class=\"GV3q8e aP9Z7e\">\u00a0<\/div>\n<div class=\"CjVfdc\">\n<div class=\"PPhIP rviiZ\">\n<div class=\"U26fgb mUbCce fKz7Od LRAOtb rm120e\" role=\"presentation\" aria-describedby=\"h.d1itz2a7wj2q\" aria-label=\"Copiar link do t\u00edtulo\" data-tooltip=\"Copiar link do t\u00edtulo\" aria-hidden=\"true\" data-tooltip-position=\"top\" data-tooltip-vertical-offset=\"12\" data-tooltip-horizontal-offset=\"0\">\n<div class=\"VTBa7b MbhUzd\">\u00a0<\/div>\n<\/div>\n<\/div>\n<strong><span class=\" OGiC0d\">Implementa\u00e7\u00e3o <\/span><\/strong><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"oKdM2c\">\n<div id=\"h.296a328d7a585a92_65\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Passada a ideia geral de cada estrat\u00e9gia, agora iremos focar e implementar uma delas: o\u00a0<strong>Code First<\/strong>. Para isso, ser\u00e1 necess\u00e1rio a instala\u00e7\u00e3o do<a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fvisualstudio.microsoft.com%2Fpt-br%2Fdownloads%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFIyV2YEs9VT_F5R3fpSwog9DE8NA\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0<\/a><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fvisualstudio.microsoft.com%2Fpt-br%2Fdownloads%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFIyV2YEs9VT_F5R3fpSwog9DE8NA\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio Community<\/a>\u00a0(n\u00e3o \u00e9 o Code) e, para controlar o nosso banco de dados, o<a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.microsoft.com%2Fpt-br%2Fsql-server%2Fsql-server-downloads&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFfFXCsNkv5GwEilm42OK2gi8tavQ\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0<\/a><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.microsoft.com%2Fpt-br%2Fsql-server%2Fsql-server-downloads&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFfFXCsNkv5GwEilm42OK2gi8tavQ\" target=\"_blank\" rel=\"noopener noreferrer\">SQL Server Express<\/a>\u00a0(somente para ter as inst\u00e2ncias) e o<a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fdocs.microsoft.com%2Fpt-br%2Fsql%2Fssms%2Fdownload-sql-server-management-studio-ssms%3Fview%3Dsql-server-ver15&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFXAYIjfN0A3iqes5-giqJi1qR_JA\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0<\/a><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fdocs.microsoft.com%2Fpt-br%2Fsql%2Fssms%2Fdownload-sql-server-management-studio-ssms%3Fview%3Dsql-server-ver15&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNFXAYIjfN0A3iqes5-giqJi1qR_JA\" target=\"_blank\" rel=\"noopener noreferrer\">SQL Server Management Studio<\/a>\u00a0(para visualizar e conectar com o servidor), conhecido como SSMS. N\u00e3o se assuste, o SQL Server Express \u00e9 s\u00f3 baixar, para conseguirmos conectar ao servidor pelo SSMS, que abriremos somente para conectar e para visualizar o resultado final.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"oKdM2c\">\n<div id=\"h.296a328d7a585a92_71\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Realizadas as instala\u00e7\u00f5es, o primeiro passo \u00e9 conectar-se com o servidor local da sua m\u00e1quina, a partir do SQL Server. Para descobrir o nome da sua m\u00e1quina \u00e9 necess\u00e1rio entrar nas propriedades do seu computador, clicando com o bot\u00e3o do mouse em\u00a0<em>Este Computador<\/em>. Segue a imagem abaixo:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_88\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-II5mzb JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb purZT-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_85\" class=\"hJDwNd-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-2779 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity1.png\" alt=\"\" width=\"374\" height=\"330\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity1.png 374w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity1-300x265.png 300w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_92\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_89\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Ao clicar em propriedades aparecer\u00e1 uma tela, no qual ter\u00e1 uma campo chamado Nome do Computador e \u00e9 s\u00f3 copi\u00e1-lo. Feito isso, podemos abrir o SQL Server Management Studio e ir\u00e1 aparecer uma janela (imagem abaixo). No campo\u00a0<em>Nome do Servidor<\/em>, cole o Nome do Computador, que foi copiado anteriormente, seguido por\u00a0<em>\\SQLEXPRESS<\/em>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_112\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-c5RTEf JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-qWD73c purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_109\" class=\"hJDwNd-AhqUyc-qWD73c jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img decoding=\"async\" class=\"aligncenter wp-image-2780 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity2.png\" alt=\"\" width=\"475\" height=\"312\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity2.png 475w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity2-300x197.png 300w\" sizes=\"(max-width: 475px) 100vw, 475px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-c5RTEf JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_116\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_113\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Realizada a conex\u00e3o com o servidor local, agora podemos come\u00e7ar o desenvolvimento. Abrindo o Visual Studio aparecer\u00e1 uma tela, clique em\u00a0<em>Criar um Projeto<\/em>. Passado isso, iremos escolher o tipo e o nome do projeto. O tipo do projeto, neste caso, vai ser\u00a0<strong>Aplicativo de Console (.NET Framework)<\/strong>, como est\u00e1 representado na imagem abaixo. Clicando em pr\u00f3ximo, preencha o nome como\u00a0<strong>MeuProjetoPET\u00a0<\/strong>(mas pode ser qualquer um).<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\"><img decoding=\"async\" class=\"aligncenter wp-image-2781 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity3.png\" alt=\"\" width=\"551\" height=\"190\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity3.png 551w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity3-300x103.png 300w\" sizes=\"(max-width: 551px) 100vw, 551px\" \/><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_128\" class=\"yaqOZd\">\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_125\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Criado nosso projeto, agora podemos abrir a classe padr\u00e3o\u00a0<em>Program.cs\u00a0<\/em>no Gerenciador de Solu\u00e7\u00f5es. Caso ela n\u00e3o esteja vis\u00edvel, segue o caminho:<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\"><em>Exibir \u2192 Gerenciador de Solu\u00e7\u00f5es <\/em><\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Dentro da classe\u00a0<em>Program.cs,<\/em>\u00a0criaremos uma outra classe, que futuramente ser\u00e1 uma tabela do nosso banco de dados, chamada\u00a0<em>Pessoa.\u00a0<\/em>Essa classe ter\u00e1 como atributos: um id (identificador inteiro), um nome (string) e um telefone (string). Ficando assim:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_144\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-c5RTEf JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-qWD73c purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_141\" class=\"hJDwNd-AhqUyc-qWD73c jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2782 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity4.jpg\" alt=\"\" width=\"1280\" height=\"962\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity4.jpg 1280w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity4-300x225.jpg 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity4-1024x770.jpg 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity4-768x577.jpg 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-c5RTEf JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_148\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_145\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Antes de continuar programando devemos instalar o Entity Framework, para usar todos recursos da ferramenta. Para isso, utiliza-se o Console do Gerenciador de Pacotes (NuGet). Ele pode ser acessado pela seguinte sequ\u00eancia:<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\"><em>Ferramentas \u2192 Gerenciador de Pacotes do Nuget \u2192 Console do Gerenciador de Pacotes<\/em><\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Seguindo a sequ\u00eancia, abrir\u00e1 um console (parecido com o cmd) na parte inferior do Visual Studio. Ent\u00e3o, escreva o seguinte comando:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_152\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_149\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2783 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity5.png\" alt=\"\" width=\"728\" height=\"24\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity5.png 728w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity5-300x10.png 300w\" sizes=\"(max-width: 728px) 100vw, 728px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_156\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_153\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Instalado o Entity, criaremos a conex\u00e3o da nossa aplica\u00e7\u00e3o com o servidor local, a partir de uma\u00a0<em>connectionString<\/em>. Essa conex\u00e3o deve ser criada no arquivo\u00a0<em>App.config\u00a0<\/em>(dentro da\u00a0<em>&lt;configuration&gt;<\/em>), tamb\u00e9m localizado no Gerenciador de Solu\u00e7\u00f5es. Na imagem abaixo, como par\u00e2metro temos: o\u00a0<em>name\u00a0<\/em>(pode ser qualquer nome, por\u00e9m usaremos ele mais tarde), a\u00a0<em>connectionString<\/em>\u00a0e o\u00a0<em>providerName\u00a0<\/em>(padr\u00e3o). Na\u00a0<em>connectionString<\/em>, o\u00a0<strong>Data Source<\/strong>\u00a0deve ser igual ao usado no SQL Server anteriormente, o\u00a0<strong>Initial Catalog<\/strong>\u00a0ser\u00e1 o nome do seu banco quando executarmos o programa (pode ser qualquer nome) e o\u00a0<strong>Integrated Security<\/strong>\u00a0\u00e9 padr\u00e3o.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_164\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_161\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2784 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity6.png\" alt=\"\" width=\"1126\" height=\"111\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity6.png 1126w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity6-300x30.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity6-1024x101.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity6-768x76.png 768w\" sizes=\"(max-width: 1126px) 100vw, 1126px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_168\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_165\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Continuando a programa\u00e7\u00e3o no <em>Program.cs<\/em>, incluiremos a seguinte linha de c\u00f3digo, para acessar os recurso do Entity:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_176\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_173\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2785 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity7.png\" alt=\"\" width=\"592\" height=\"39\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity7.png 592w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity7-300x20.png 300w\" sizes=\"(max-width: 592px) 100vw, 592px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_180\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_177\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Com o Entity dispon\u00edvel, ainda dentro do arquivo Program.cs, agora podemos criar nossa pr\u00f3xima classe, chamada Contexto. O Contexto \u00e9 respons\u00e1vel por manter e gerenciar as classes que fazem parte da camada de dados. Utilizando a fun\u00e7\u00e3o\u00a0<em>DbSet&lt;&gt;,<\/em>\u00a0definimos que a classe\u00a0<em>Pessoa\u00a0<\/em>pertence ao contexto de dados.<\/p>\n<div id=\"h.2lkbdck7t6fq\" class=\"GV3q8e aP9Z7e\">\u00a0<\/div>\n<div class=\"CjVfdc\">\n<div class=\"PPhIP rviiZ\">\n<div class=\"U26fgb mUbCce fKz7Od LRAOtb rm120e\" role=\"presentation\" aria-describedby=\"h.2lkbdck7t6fq\" aria-label=\"Copiar link do t\u00edtulo\" data-tooltip=\"Copiar link do t\u00edtulo\" aria-hidden=\"true\" data-tooltip-position=\"top\" data-tooltip-vertical-offset=\"12\" data-tooltip-horizontal-offset=\"0\">\n<div class=\"VTBa7b MbhUzd\">\u00a0<\/div>\n<\/div>\n<\/div>\n<span class=\" qnVSj\">&#8211; <\/span><span class=\" OGiC0d\">Lembra que ir\u00edamos utilizar o <\/span><span class=\" OGiC0d\"><em>name <\/em><\/span><span class=\" OGiC0d\">da <\/span><span class=\" OGiC0d\"><em>connectionString<\/em><\/span><span class=\" OGiC0d\">? <\/span><\/div>\n<p class=\"zfr3Q\" dir=\"ltr\">Vamos utilizar agora.\u00a0Dentro da fun\u00e7\u00e3o\u00a0<em>base<\/em><em>()\u00a0<\/em>informaremos qual a\u00a0<em>connectionString\u00a0<\/em>que queremos usar, ent\u00e3o lembre-se de colocar de acordo com o escrito na sua\u00a0<em>connectionString.<\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_184\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_181\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2786 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity8.jpg\" alt=\"\" width=\"1280\" height=\"384\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity8.jpg 1280w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity8-300x90.jpg 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity8-1024x307.jpg 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity8-768x230.jpg 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_188\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_185\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Para finalizar o desenvolvimento, ainda n\u00e3o mexemos na fun\u00e7\u00e3o\u00a0<em>Main\u00a0<\/em>do\u00a0<em>Program.cs<\/em>. N\u00e3o se assuste com o tamanho dela, comparado com as outras, n\u00e3o \u00e9 dif\u00edcil de entender. Basicamente,\u00a0ela chama o nosso Contexto, utilizando a vari\u00e1vel\u00a0<em>banco<\/em>, para acessar a nossa classe\/entidade. Ap\u00f3s isso, h\u00e1 uma entrada de dados com o nome e telefone da pessoa. Depois receber os dados da pessoa, iremos inseri-los na tabela\u00a0<em>Pessoas<\/em>, a partir da fun\u00e7\u00e3o\u00a0<em>Add()<\/em>\u00a0e salvar as altera\u00e7\u00f5es com a fun\u00e7\u00e3o\u00a0<em>SaveChanges()<\/em>. Somente essa parte de c\u00f3digo j\u00e1 realizaria o Code First, criando a base de dados e a tabela , o resto do c\u00f3digo \u00e9 uma demonstra\u00e7\u00e3o de consulta para listar as pessoas cadastradas no banco (no nosso caso vai ser s\u00f3 uma).\u00a0A vari\u00e1vel\u00a0<em>query\u00a0<\/em>utiliza um componente de consulta, semelhante com uma instru\u00e7\u00e3o SQL, chamado Linq. Por padr\u00e3o, o Linq j\u00e1 \u00e9 inclu\u00eddo em todos os c\u00f3digos C#.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_192\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-OiUrBf purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_189\" class=\"hJDwNd-AhqUyc-OiUrBf jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2787 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity9.png\" alt=\"\" width=\"1280\" height=\"1053\" srcset=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity9.png 1280w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity9-300x247.png 300w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity9-1024x842.png 1024w, https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity9-768x632.png 768w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-ibL1re JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_196\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_193\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Para executar \u00e9 s\u00f3 clicar em iniciar, na parte superior do Visual Studio. Feito isso, abrir\u00e1 um console que vai pedir os dados de uma pessoa qualquer. Ap\u00f3s o preenchimento, ele come\u00e7ar\u00e1 a cria\u00e7\u00e3o do banco de dados e da tabela\u00a0<em>Pessoas<\/em>\u00a0(esse processo normalmente \u00e9 demorado). Para verificar se est\u00e1 correto, ele tenta buscar os dados no banco e retornar o nome e o telefone das pessoas cadastradas na tabela\u00a0<em>Pessoas<\/em>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_204\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-II5mzb JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb purZT-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_201\" class=\"hJDwNd-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2788 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity10.png\" alt=\"\" width=\"282\" height=\"108\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_208\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_205\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">No SQL Server Management Studio, podemos visualizar o banco criado, juntamente com a tabela <em>Pessoas.<\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_212\" class=\"yaqOZd\">\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-II5mzb JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb purZT-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_209\" class=\"hJDwNd-AhqUyc-II5mzb pSzOP-AhqUyc-II5mzb jXK9ad D2fZ2 OjCsFc wHaque\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd baZpAe\">\n<div class=\"t3iYD\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2789 size-full\" src=\"https:\/\/www.ufsm.br\/app\/uploads\/sites\/791\/2020\/09\/entity11.png\" alt=\"\" width=\"277\" height=\"237\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"hJDwNd-AhqUyc-II5mzb JNdkSc L6cTce-purZT L6cTce-pSzOP\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\u00a0<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_216\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc\">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_213\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<p class=\"zfr3Q\" dir=\"ltr\">Para ter acesso ao\u00a0<em>Program.cs<\/em>\u00a0e o\u00a0<em>App.config<\/em>, desenvolvidos ao longo da reda\u00e7\u00e3o, \u00e9 s\u00f3 acessar este<a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fgithub.com%2Fchico123456%2FEntity-Framework&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHV52XYL45V9oCVNzWAjqvssADKGQ\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0<\/a><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fgithub.com%2Fchico123456%2FEntity-Framework&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHV52XYL45V9oCVNzWAjqvssADKGQ\" target=\"_blank\" rel=\"noopener noreferrer\">reposit\u00f3rio<\/a>.<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Caso queria aprender mais e implementar um Database First ou Model First em uma aplica\u00e7\u00e3o C#, segue\u00a0este<a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.devmedia.com.br%2Fentity-framework-tutorial%2F27764&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEpc5bVJ70SnN2eWAQa7S4CEELT9Q\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0<\/a><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.devmedia.com.br%2Fentity-framework-tutorial%2F27764&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEpc5bVJ70SnN2eWAQa7S4CEELT9Q\" target=\"_blank\" rel=\"noopener noreferrer\">link<\/a>.<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Para quem programa em outra linguagem, este<a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.treinaweb.com.br%2Fblog%2Fo-que-e-orm%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNG60TnG4pV4XNMDyzCdFwG8OAqLFw\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0<\/a><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.treinaweb.com.br%2Fblog%2Fo-que-e-orm%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNG60TnG4pV4XNMDyzCdFwG8OAqLFw\" target=\"_blank\" rel=\"noopener noreferrer\">link<\/a>\u00a0possui mais conte\u00fado sobre ORMs e os principais para cada linguagem no mercado.<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\">Com isso, compreendemos um pouco mais sobre ORMs e Entity Framework, implementando um Code First simples, podendo ser alimentado com outras classes e m\u00e9todos, auxiliando e facilitando o desenvolvimento de projetos.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"h.296a328d7a585a92_220\" class=\"yaqOZd\">\n<div class=\"yaqOZd IFuOkc\">\u00a0<\/div>\n<div class=\"mYVXT\">\n<div class=\"LS81yb VICjCf\">\n<div class=\"hJDwNd-AhqUyc-uQSCkd purZT-AhqUyc-II5mzb pSzOP-AhqUyc-qWD73c JNdkSc yYI8W \">\n<div class=\"JNdkSc-SmKAyb\">\n<div class=\"\">\n<div class=\"oKdM2c Kzv0Me\">\n<div id=\"h.296a328d7a585a92_217\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 OjCsFc GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<div id=\"h.481a3pa4tqi6\" class=\"GV3q8e aP9Z7e\">\u00a0<\/div>\n<div class=\"CjVfdc\">\n<div class=\"PPhIP rviiZ\">\n<div class=\"U26fgb mUbCce fKz7Od LRAOtb rm120e\" role=\"presentation\" aria-describedby=\"h.481a3pa4tqi6\" aria-label=\"Copiar link do t\u00edtulo\" data-tooltip=\"Copiar link do t\u00edtulo\" aria-hidden=\"true\" data-tooltip-position=\"top\" data-tooltip-vertical-offset=\"12\" data-tooltip-horizontal-offset=\"0\">\n<div class=\"VTBa7b MbhUzd\">\u00a0<\/div>\n<\/div>\n<\/div>\n<span class=\" OGiC0d\"><strong>Refer\u00eancias<\/strong><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"oKdM2c\">\n<div id=\"h.296a328d7a585a92_221\" class=\"hJDwNd-AhqUyc-uQSCkd jXK9ad D2fZ2 wHaque GNzUNc\">\n<div class=\"jXK9ad-SmKAyb\">\n<div class=\"tyJCtd mGzaTb baZpAe\">\n<ul class=\"n8H08c UVNKR\">\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fdocs.microsoft.com%2Fpt-br%2Fef%2F&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHnEqG2_foDe2V2x4V3d_zREdvn7A\" target=\"_blank\" rel=\"noopener noreferrer\">Documenta\u00e7\u00e3o Entity Framework<\/a><\/p>\n<\/li>\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fwww.devmedia.com.br%2Fentity-framework-tutorial%2F27764&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEpc5bVJ70SnN2eWAQa7S4CEELT9Q\" target=\"_blank\" rel=\"noopener noreferrer\">Tutorial Entity Framework<\/a><\/p>\n<\/li>\n<li class=\"TYR86d zfr3Q\">\n<p class=\"zfr3Q\" dir=\"ltr\"><a class=\"XqQF9c\" href=\"https:\/\/www.google.com\/url?q=https%3A%2F%2Fdocs.microsoft.com%2Fpt-br%2Fef%2Fef6%2Fmodeling%2Fcode-first%2Fworkflows%2Fnew-database&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNEYX9pfC_mC-ctf-S8fLWVkpfup5Q\" target=\"_blank\" rel=\"noopener noreferrer\">Code First<\/a><\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\">\u00a0<\/p>\n<p class=\"zfr3Q\" dir=\"ltr\" style=\"text-align: right\">Francisco Palermo &#8211; 22\/07\/2020<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 Pessoal, nessa edi\u00e7\u00e3o do PET Reda\u00e7\u00e3o iremos aprender um pouco sobre uma das principais ferramentas de mapeamento objeto-relacional para C#, o Entity Framework. Mas enfim, o que \u00e9 Mapeamento objeto-relacional e o que \u00e9 Entity Framework? Continue lendo para conhecer mais sobre este assunto. \u00a0 \u00a0 O que \u00e9 mapeamento objeto-relacional? O\u00a0ORM\u00a0(object-relational mapping) \u00e9 [&hellip;]<\/p>\n","protected":false},"author":2948,"featured_media":2695,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,112],"tags":[196,203,149],"class_list":["post-2701","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-destaques","category-redacao","tag-back-end-e-bd","tag-frameworks","tag-redacao"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/2701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/users\/2948"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/comments?post=2701"}],"version-history":[{"count":0,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/posts\/2701\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media\/2695"}],"wp:attachment":[{"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/media?parent=2701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/categories?post=2701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ufsm.br\/pet\/sistemas-de-informacao\/wp-json\/wp\/v2\/tags?post=2701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}