Error running Entity Framework

Asked

Viewed 251 times

3

I am starting my studies in EF, following this tutorial, I made up to 22 min of the video, then when I will run:

System.Typeinitializationexception: 'The 'System.Data.Entity.Internal.Appconfig' type initializer triggered an exception.'

Configurationerrorsexception: Configuration system failed to boot

Configurationerrorsexception: Unrecognized element. (C: Users Leandro source Repos Entityfw Uiconsole bin Debug Uiconsole.exe.Config line 4)

EF version: 6.2.0 Version of dotnet: 2.1.503 Visual Studio 2017

Program.Cs:

using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UIConsole
{
  class Program
  {
    static void Main(string[] args)
    {
        // o erro está estourando nessa linha
        DBProduto banco = new DBProduto();

        Produto produto01 = new Produto();
        produto01.ID = 1;
        produto01.Nome = "Arroz";

        banco.Produtos.Add(produto01);
        banco.SaveChanges();

        IEnumerable<Produto> produtosNoDB = banco.Produtos.ToList();

        Console.WriteLine("{0} - {1}", produtosNoDB.First().ID, produtosNoDB.First().Nome);

        Console.ReadKey();
     }
   }
 }

Product.Cs

using System;
using System.Collections.Generic;
using System.Text;

namespace UIConsole
 {
   public class Produto
    {
      public int ID { get; set; }
      public string Nome { get; set; }
    }
  }

Dbproduto.Cs

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Text;

namespace UIConsole
{
    public class DBProduto : DbContext
    {
        public DbSet<Produto> Produtos { get; set; }
    }
}

App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <connectionStrings>
      <add name="DBProduto" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=DBProduto"
       providerName="System.Data.SqlClient"/>
    </connectionStrings>
  </configSections>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
</configuration>

1 answer

3


Your mistake is in app.config. Place the element connectionString inside configuration:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>
  <connectionStrings>
    <add name="DBProduto" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=DBProduto"
     providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

Browser other questions tagged

You are not signed in. Login or sign up in order to post.