En relasjons butikk er konfigurert uten å spesifisere enten DbConnection eller forbindelsesstrengen for å bruke

stemmer
2

Jeg bruke asp.net vnext og ef7 når jeg ønsker å legge til bruker jeg får denne feilmeldingen:

En relasjons butikk er konfigurert uten å spesifisere enten DbConnection eller tilkoblingsstreng som skal brukes.

Hva er dette?

Vurdere min app start:

using DomainModels;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Routing;
using Microsoft.Framework.ConfigurationModel;
using Microsoft.Framework.DependencyInjection;
using Presentation.DataAccessLayer.Context;
using Microsoft.AspNet.Identity;
namespace Presentation
{
    public class Startup
    {
        public Startup(IHostingEnvironment env)
        {
            Configuration = new Configuration()
                .AddJsonFile(config.json)
                .AddEnvironmentVariables();
        }

        public IConfiguration Configuration { get; set; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddEntityFramework().AddSqlServer().AddDbContext<ApplicationContext>();
            services.AddDefaultIdentity<ApplicationContext, ApplicationUser, IdentityRole>(Configuration);
            services.AddMvc();
        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseStaticFiles();
            app.UseIdentity();
            app.UseMvc(
                routes =>
                {
                    routes.MapRoute(default, {controller}/{action}/{id?},
                        new {controller = Home, action = Index});
                });
        }
    }
}

og dette er min config.json:

{
    Data: {
        DefaultConnection: {
            Connectionstring: Data Source=.\\sqlexpress;Initial Catalog=CraftCenter;Integrated Security=True;
        }
    },
    EntityFramework: {
        ApplicationDbContext: {
            ConnectionStringKey: Data:DefaultConnection:ConnectionString
        }
    }

}
Publisert på 28/12/2014 klokken 15:34
kilden bruker
På andre språk...                            


5 svar

stemmer
4
"EntityFramework": {
    "MembershipDbContext": {
        "ConnectionStringKey": "Data:Membership:ConnectionString"
    }
}

Endre ConnectionStringKeyå være ConnectionStringfungerer for meg.

Svarte 02/03/2015 kl. 06:09
kilden bruker

stemmer
4

Jeg tror problemet var at DbContext klassenavnet ikke er det samme som navnet angitt i config.

For eksempel hvis du har en DbContext heter MembershipDbContextdu kan angi tilkoblingsstrengen den skal bruke via eiendommene inne EntityFramework.

{
"Data": {
    "Membership": {
        "ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=Membership;Trusted_Connection=True;MultipleActiveResultSets=true"
    }
},
"EntityFramework": {
    "MembershipDbContext": {
        "ConnectionStringKey": "Data:Membership:ConnectionString"
    }
}

Dette er renere enn angi tilkoblingsstrengen nøklene i koden.

I ditt tilfelle, er det DbContext navn ApplicationContextog navnet du har angitt i config er ApplicationDbContextsom ikke samsvarer.

Svarte 20/02/2015 kl. 21:09
kilden bruker

stemmer
3

Jeg foretrekker å konfigurere butikken i Setup-klasse:

public virtual void ConfigureServices(IServiceCollection services)
{
    services.AddEntityFramework()
            .AddSqlServer()
            .AddDbContext<ApplicationContext>(options => options.UseSqlServer(
                Configuration.Get("Data:DefaultConnection:ConnectionString")));
     services.AddDefaultIdentity<ApplicationContext, ApplicationUser, IdentityRole>(Configuration);
     services.AddMvc();
}
Svarte 05/01/2015 kl. 13:41
kilden bruker

stemmer
2

Det ser for tilkoblingsstrengen i DbContext, så du trenger å endre "ConnectionStringKey" til "Connection" i config.json.

Svarte 24/02/2015 kl. 16:09
kilden bruker

stemmer
1

Jeg får den og legge inn denne koden i min sammenheng:

  protected override void OnConfiguring(DbContextOptions options)
        {
            options.UseSqlServer(Startup.Configuration.Get("Data:DefaultConnection:ConnectionString"));
        }
Svarte 28/12/2014 kl. 15:53
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more