2017-02-21 12 views
0

私はコードファーストコンセプトを使用していますが、SQL Serverデータベースに新しいテーブルを作成するためにモデルフォルダに新しいクラスを追加しようとしました。私はAdd-Migrationエラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません

Public Overridable Property Diagnosis As DbSet(Of Diagnosis) 

をDBContext.vbに追加しました。

次に、パッケージマネージャコンソールでAdd-Migration Diagnosisと入力しました。しかし、以下のエラーが出ます。どうしてこれなの?誰でも私を助けてくれますか?

Object reference not set to an instance of an object.

パッケージマネージャコンソールの完全なエラー:

System.NullReferenceException: Object reference not set to an instance of an object. 
    at System.Web.UI.ParseChildrenAttribute.GetHashCode() 
    at System.Collections.Generic.ObjectEqualityComparer`1.GetHashCode(T obj) 
    at System.Linq.Set`1.InternalGetHashCode(TElement value) 
    at System.Linq.Set`1.Find(TElement value, Boolean add) 
    at System.Linq.Enumerable.<ExceptIterator>d__72`1.MoveNext() 
    at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) 
    at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) 
    at System.Data.Entity.ModelConfiguration.Utilities.AttributeProvider.<GetAttributes>b__3(PropertyInfo pi) 
    at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) 
    at System.Data.Entity.ModelConfiguration.Utilities.AttributeProvider.GetAttributes(PropertyInfo propertyInfo) 
    at System.Data.Entity.ModelConfiguration.Conventions.PropertyAttributeConfigurationConvention`1.<.ctor>b__0(ConventionTypeConfiguration ec) 
    at System.Data.Entity.ModelConfiguration.Conventions.TypeConvention.ApplyCore(Type memberInfo, ModelConfiguration modelConfiguration) 
    at System.Data.Entity.ModelConfiguration.Conventions.TypeConventionBase.Apply(Type memberInfo, ModelConfiguration modelConfiguration) 
    at System.Data.Entity.ModelConfiguration.Configuration.ConventionsConfiguration.ApplyModelConfiguration(Type type, ModelConfiguration modelConfiguration) 
    at System.Data.Entity.ModelConfiguration.Conventions.Convention.ApplyModelConfiguration(Type type, ModelConfiguration modelConfiguration) 
    at System.Data.Entity.ModelConfiguration.Configuration.ConventionsConfiguration.ApplyModelConfiguration(Type type, ModelConfiguration modelConfiguration) 
    at System.Data.Entity.ModelConfiguration.Mappers.TypeMapper.MapComplexType(Type type, Boolean discoverNested) 
    at System.Data.Entity.ModelConfiguration.Mappers.PropertyMapper.MapPrimitiveOrComplexOrEnumProperty(PropertyInfo propertyInfo, Func`1 structuralTypeConfiguration, Boolean discoverComplexTypes) 
    at System.Data.Entity.ModelConfiguration.Mappers.PropertyMapper.MapIfNotNavigationProperty(PropertyInfo propertyInfo, EntityType entityType, Func`1 entityTypeConfiguration) 
    at System.Data.Entity.ModelConfiguration.Mappers.TypeMapper.<>c__DisplayClass14.<MapEntityType>b__e(PropertyMapper m, PropertyInfo p) 
    at System.Data.Entity.ModelConfiguration.Mappers.TypeMapper.MapStructuralElements[TStructuralTypeConfiguration](Type type, ICollection`1 annotations, Action`2 propertyMappingAction, Func`1 structuralTypeConfiguration) 
    at System.Data.Entity.ModelConfiguration.Mappers.TypeMapper.MapEntityType(Type type) 
    at System.Data.Entity.ModelConfiguration.Mappers.NavigationPropertyMapper.Map(PropertyInfo propertyInfo, EntityType entityType, Func`1 entityTypeConfiguration) 
    at System.Data.Entity.ModelConfiguration.Mappers.TypeMapper.MapEntityType(Type type) 
    at System.Data.Entity.DbModelBuilder.MapTypes(EdmModel model) 
    at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo) 
    at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) 
    at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) 
    at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) 
    at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() 
    at System.Data.Entity.Internal.LazyInternalContext.get_ModelBeingInitialized() 
    at System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(DbContext context, XmlWriter writer) 
    at System.Data.Entity.Utilities.DbContextExtensions.<>c__DisplayClass1.<GetModel>b__0(XmlWriter w) 
    at System.Data.Entity.Utilities.DbContextExtensions.GetModel(Action`1 writeXml) 
    at System.Data.Entity.Utilities.DbContextExtensions.GetModel(DbContext context) 
    at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration, DbContext usersContext, DatabaseExistenceState existenceState, Boolean calledByCreateDatabase) 
    at System.Data.Entity.Migrations.DbMigrator..ctor(DbMigrationsConfiguration configuration) 
    at System.Data.Entity.Migrations.Design.MigrationScaffolder..ctor(DbMigrationsConfiguration migrationsConfiguration) 
    at System.Data.Entity.Migrations.Design.ToolingFacade.ScaffoldRunner.Run() 
    at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) 
    at System.AppDomain.DoCallBack(CrossAppDomainDelegate callBackDelegate) 
    at System.Data.Entity.Migrations.Design.ToolingFacade.Run(BaseRunner runner) 
    at System.Data.Entity.Migrations.Design.ToolingFacade.Scaffold(String migrationName, String language, String rootNamespace, Boolean ignoreChanges) 
    at System.Data.Entity.Migrations.AddMigrationCommand.Execute(String name, Boolean force, Boolean ignoreChanges) 
    at System.Data.Entity.Migrations.AddMigrationCommand.<>c__DisplayClass2.<.ctor>b__0() 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) 
Object reference not set to an instance of an object. 

これは関連性があるかどうかは分かりませんが、私のweb.configファイルには、すでにあるデフォルトの接続があります前最初にプロジェクトを作成したときに設定されます。私が最初にEnable-Migrationsを行ったとき、私はそれがどの接続であったかを指定しなければなりませんでした。私はその行を削除しましたが、それでも動作しません。今

Public Property id As String 

それを:私はアドオンの移行をしたとき、私は単純にクラスを作成し、このような変数としてなど、それぞれの文字列の宣言、整数を、追加したので

+0

)今では '=作品

<Key> <StringLength(20)> Public Property id As String 

:突然、私は、以下のような変数のそれぞれに、より精巧な説明を与えなければならなかった私の心に浮かんコマンドを試す前に?また、Entity Grameworkがインストールされている正しいプロジェクトに対して、パッケージマネージャコンソールのコマンドを起動していることを確認してください。 – Derek

+0

@Derek 0成功、0失敗、1最新、0スキップ。私はパッケージマネージャーのコンソールでアドインマイグレーションを試してみましたが、ビルド後も同じエラーです。 '正しいプロジェクトに対して'という言い方をすれば、デフォルトプロジェクトのドロップダウンリストで自分のプロジェクト名を選択していますか? – Nurul

+0

あなたのソリューションがどのように分割されているのかわかりませんが、複数のプロジェクトがある場合は、パッケージマネージャコンソールがエンティティフレームワークがインストールされたプロジェクトをターゲットにしていることを確認する必要があります。 – Derek

答えて

0

以前は、それは動作しませんでしたあなたが正常にあなたを構築することができました

関連する問題