EF7 Beta 4: AddEntityFramework akzeptiert kein Argument (Konfiguration)

asp.net-core entity-framework-core

Frage

Ich gehe durch dieses Beispiel: http://stephenwalther.com/archive/2015/01/17/asp-net-5-and-angularjs-part-4-using-entity-framework-7

und ich kämpfe mit diesem Code-Teil:

using Microsoft.AspNet.Builder;
using Microsoft.Framework.DependencyInjection;
using Microsoft.Data.Entity;
using creaservo.com.Models;
using Microsoft.Framework.ConfigurationModel;
using Microsoft.AspNet.Hosting;

namespace creaservo.com
{
    public class Startup
    {
        public Startup(IHostingEnvironment env)
        {
            // Setup configuration sources.
            Configuration = new Configuration()
                .AddJsonFile("config.json")
                .AddEnvironmentVariables();
        }

        public IConfiguration Configuration { get; set; }


        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();

            // Register Entity Framework
            services.AddEntityFramework(Configuration)
                .AddSqlServer()
                .AddDbContext<MoviesAppContext>();
        }

        public void Configure(IApplicationBuilder app)
        {
            app.UseMvc();
        }
    }
}

Das Problem ist mit

        // Register Entity Framework
        services.AddEntityFramework(Configuration)
            .AddSqlServer()
            .AddDbContext<MoviesAppContext>();

Wo bekomme ich einen Buildfehler:

Error   CS1501  No overload for method 'AddEntityFramework' takes 1 arguments   

Ich habe in vielen anderen Beispielen die gleiche Verwendung eines Arguments für die Konfiguration gesehen.

Keine Ahnung, was ist los ....

Akzeptierte Antwort

Es sieht so aus, als ob das Tutorial, das Sie verwenden, eine ältere Version des EF7-Frameworks verwendet. EntityFramework 7 beta 4 akzeptiert keine Parameter mehr für AddEntityFramework . Es sieht so aus, als wäre Beta 5 immer noch auf derselben Spur.

Ich glaube, was du suchst ist das:

// Register Entity Framework
services.AddEntityFramework()
    .AddSqlServer()
    .AddDbContext<MoviesAppContext>(options =>
    {
        options.UseSqlServer(Configuration.Get("Data:DefaultConnection:ConnectionString"));
    });

Dies vereinfacht die Struktur, die Sie in der Konfigurationsdatei benötigen, da der MoviesAppContext nur die Verbindungszeichenfolge und nicht die Elemente EntityFramework und Data .



Related

Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow