Je viens d'installer la communauté Microsoft Visual Studio 2017 et j'essaie d'obtenir des informations sur la technologie la plus récente. Je ne suis pas encore familier avec MVC et je ne connais absolument pas EF Core 1.1.Entity Framework Core 1.1 et la migration
J'ai suivi quelques cours sur Pluralsight sur ASP.NET Core et EF Core, mais il semble qu'il y ait eu des changements depuis que ces enregistrements ont été réalisés.
Quand je lance « Add-Migration Inital » pour se connecter à la base de données, je reçois toujours:
System.InvalidOperationException: Le type d'entité « Catégorie » nécessite une clé primaire à définir. à Microsoft.EntityFrameworkCore.Internal.ModelValidator.ShowError (message String) à Microsoft.EntityFrameworkCore.Internal.ModelValidator.Validate (modèle IModel) à Microsoft.EntityFrameworkCore.Internal.RelationalModelValidator.Validate (modèle IModel) à Microsoft.EntityFrameworkCore .Infrastructure.ModelSource.CreateModel (contexte DbContext, IConventionSetBuilder conventionSetBuilder, IModelValidator validateur) à System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func
2 valueFactory) à Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel() à Microsoft.EntityFrameworkCore.Internal. LazyRef 1.get_Value() at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass16_0.<RealizeService>b__0(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitTransient(TransientCallSite transientCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitTransient(TransientCallSite transientCallSite, ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProvider.<>c__DisplayClass16_0.<RealizeService>b__0(ServiceProvider provider) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0
1.b__0() à Microsoft.EntityFrameworkCore.Design.OperationExecutor.Opera tionBase.Execute (Action) Le type d'entité 'Catégorie' nécessite la définition d'une clé primaire.
Voici un code pertinent:
Category.cs
public class Category
{
[Key]
public int CategoryId;
public String CategoryName;
}
ICategoryRepository.cs
espace de noms Dokumentbasen6.Model { public interface ICategoryRepository { IEnumerable Catégories {get; } Catégorie GetCategoryById (int CategoryId); }}
CategoryRepository.cs
namespace Dokumentbasen6.Model
{ public interface ICategoryRepository { IEnumerable Catégories {get; } Catégorie GetCategoryById (int CategoryId); }}
DokumentbasenContext.cs
public class DokumentbasenContext : DbContext
{
public DokumentbasenContext(DbContextOptions<DokumentbasenContext> options) : base(options)
{
}
public DbSet<Document> Dokuments { get; set; }
public DbSet<Category> Categories { get; set; }
public DbSet<Standard> Standards { get; set; }
public DbSet<Member> Members { get; set; }
}
Quand je construis le projet je le cadre cible .NETCoreApp 1.0, mais je l'ai changé Cadre cible .NetCoreApp 1.1.
D'avance, merci beaucoup pour votre soutien!
Cordialement,
Jon Haakon Ariansen