Soru Uygulama iskele öğeleri olamaz


VS 2013 Professional'da bir MVC 5 uygulaması oluşturdum ve ardından SQL Server Express'te mevcut bir DB ile ilk önce EF 6.1 kodunu kullandım. Görünümleri oluşturmaya çalıştığımda “Yeni iskeletlenmiş öğe…” yi kullandım ve sonra “Varlık Çerçevesini kullanarak görünümleri olan MVC 5 denetleyicisini” seçiyorum. Model ve bağlam sınıflarını seçiyorum ve Tamam'ı tıklıyorum. Ardından aşağıdaki hata mesajı görüntülenir ve kod oluşturulmaz. EF Güç Araçlarını aynı hatayla kaldırdım.

Hata

Seçilen kod üretecini çalıştıran bir hata oluştu: ‘İstisna var   bir çağrı hedefiyle atılmış. ”

Ayrıca VS 2013 ve SQL Server'ı hiçbir değişiklik yapmadan kaldırmayı / yeniden yüklemeyi denedim.

Bu hatanın nedenine ilişkin başka herhangi bir fikir var mı?


44
2018-05-10 01:40


Menşei


Sahip olduğum tek fikir, bazı referansların uygun sürümü göstermediğidir. Bu açıklanamaz hataları görüyorum. - TheNorthWes
Aynı hatayı da bende var. Bir geçici çözüm olarak, herhangi bir akıcı API kodunu DbContext.OnModelCreating() yöntem ve denetleyiciyi scaffold. Sonra rahatsız edici hatları rahatsız ettim ve mutlu yoluma devam ettim. - Albert Bori
@AlbertBori Bu benim için de geçerliydi. - chicken
@AlbertBori - Çalıştı! Teşekkür ederim. - runamuk0
@AlbertBori - Bu benim için de çalıştı, teşekkürler! - Matthew


Cevaplar:


Ben de bu problemi yaşadım Ben DB bağlamında base.onModelCreating çağırarak sorunu çözdüm

base.OnModelCreating(modelBuilder);

15
2018-05-28 07:46



Bu benim için sorunu çözdü. Tüm varlıklar arı yapılandırıldıktan sonra bu kod satırını OnModelCreating yönteminin sonuna yerleştirin. VS2013 Güncellemesi 4 - Aaron
Başlamak için kodumda bu satır var, ancak yine de yeni iskele öğeleri eklerken hata yaşıyorum. VS 2013 Güncelleştirme 5 ve SQL Server Express 2012'yi kullanarak ve asp.net/mvc/overview/getting-started/... - Stack0verflow


Benim durumumda, bağlantı dizgileri Web.config dosyasından

<connectionStrings configSource="ConnectionStrings.config"/>

İskele yapmaya çalışırken hatayı almaya başladığımda.

Seçilen kod üretecini çalıştıran bir hata oluştu: inv Bir çağrının hedefi tarafından istisna atıldı. ’

Bağlantı dizelerimi tekrar Web.config dosyasına taşıyarak sorunumu çözdüm.


40
2017-07-22 10:01



web.config dizinimde yinelenen bağlantı dizesi girdileri vardı - David McSpadden
ConfigSections düğümünden önce bağlantı dizelerini bildirdim. Yani iskele EF'i bulamadı. - Hemant
BOOOO MSFT. Bu benim sorunumdu. - Visser
Ben de ConfigSections'dan önce bağlantıları vardı. ConfigSections sonra benim için bunu çözdü. Şerefe! - Jackson Lopes
@DavidMcSpadden kardeş, yorumunuzu yeni bir yanıt olarak gönderirsiniz. Saatler sonra senin yüzünden hatamı çözdüm. Teşekkürler! - Phi


Bu benim için sorunu çözdü,

Ekleme throwIfV1Schema: false üssüne DbContext

Öyle:

public MyDbContext() : base("ConectionStringName", throwIfV1Schema: false) { }

11
2018-02-25 16:08



Bunu yaptıktan sonra yeniden inşa etmeyi unutmayın! - lordstyx


Geç cevap; ama, bu cevapları birilerinin problemlerini çözmek için bu cevabı kullanabileceği umuduyla gönderiyorum.

Herhangi bir nedenden dolayı, eğer programınız connectionString bilgilerini okuyamazsa (web.config'den veya başka yollardan), bu hata atılacaktır.

Geçerli connectionString bilgilerinin sorunsuzca doğru bir şekilde alındığından emin olun.


10
2017-10-13 14:03





'ASP.NET MVC5 ile Entity Framework ile görüşlerini kullanarak scaffold kullanarak denetleyici oluştururken aynı sorunla karşılaştım

Sorun şu ki sağladım <connectionStrings> önce etiketle <configSections> web.config dosyasında. ayar <connectionStrings> sonra <configSections> sorunu çözdü.

Sanırım, iskele yaparken, ASP.NET MVC önce Entity Framework'ü çözmek istiyor, daha sonra bağlantı dizesi, daha önce bağlantı dizesini sağladığımdan, Entity Framework versiyonunu çözdükten sonra bağlantı dizisini bulamadığı için bu yüzden çağrışım problemini attı. .


9
2018-03-01 17:56



deha! :) ..... - adityawho
İçerik ve model derslerimi ayrı bir projede var ve bu da benim için çalıştı. Teşekkürler. - Tahir Hassan


Aynı hata mesajını aldım. Yeni eklemeye çalıştım Data context class Denetleyici Ekle iletişim kutusundan ve sonra farklı bir hata aldım:

There was an error running the selected code generator:
'Sections must only appear once per config file. See the help topic
<locations> for exceptions.

İki tane olduğu anlaşılıyor. <connectionStrings> web.config dosyasındaki öğeler. (Entity Framework modelimi içeren sınıf kütüphanesinin app.config öğesinden birini yapıştırdım.)


6
2018-06-11 03:11



Sık sık aptalca şeyler yapmamakla gurur duyuyorum. Bu, bugün, birkaç taneydi. İyi yakala ve ara. - MetalPhoenix


Benim durumumda, DBContext yapıcımı yalnızca web.config dosyasında tanımlandığı gibi bir statik bağlantı dizesi kullanmak zorunda kaldım.

Dinamik olarak oluşturulmuş bir bağlantı dizesi kullandığımda iskele çalışmadı.

public MyContext() : base("name=MyContext") { }

5
2018-06-09 21:18





Aynı problem vardı iskelet öğeleri eklemek olmaz nuget paketi yöneticisi konsol aracılığıyla varlık-çerçeve kaldırılıyor gibi görünüyor

Koşmak Paket Yöneticisi Konsolu:

Araçlar -> NuGet Paket Yöneticisi -> Paket Yöneticisi Konsolu

Ayırmak:

UnInstall-Package EntityFramework

Yeniden yüklemek için:

Install-Package EntityFramework

Veya tek bir komutta:

Update-Package -reinstall EntityFramework

Umarım bu, bana bir süre gelmesi için yardım edebilir.


4
2017-09-16 20:11



Bu benim için çalıştı, yapması gereken bir yapılandırma değişikliği olmalıdır (ancak, çözüm veya yapılandırma dosyalarından birinde?) - sam starobin
Bağımlılık hatası nedeniyle bunu yapamadım. - JosephMCasey
@JosephCasey Bilmiyorum, ancak sizi hangi paketlerden kurduğunuzu kontrol etmek ve hangi bağımlılıklara sahip olduklarını görmek için sizi durduran bir tür bağımlılığa sahip olmalısınız. EntityFramework'ı kaldırmadan önce bunları kaldırmanız gerekir. - Enzero
Bir bağımlılık (EntityFramework.Commands) var çünkü @JosephCasey Varlık Çerçeveler beta sürümünü kullanarak şans eseri vardır. Şu anki sürümü 6.1.3 olarak kullanmak daha iyi olabilir. - Enzero
EF 6.1.3 var. Daha sonra kontrol etmeye çalışabilirim. Bence daha büyük sorun benim güncel olmayan yaklaşımımdı. - JosephMCasey


Bu, hatayı gidermenize yardımcı olabilir.

OnModelCreating'de her varlık için bunu yapıyordum:

modelBuilder.Configurations.Add(new EntityTypeConfiguration<EntityModel>);

Bunu değiştirdiğimde, aldığınız hatayı almayı kestim.

modelBuilder.Entity<EntityModel>();

3
2018-05-19 18:11



Ben aynı soruna sahiptim, nedense EntityTypeConfiguration sınıfını sevmiyor, teşekkürler! - Gabriel Sadaka


Yukarıdakilerin çoğunu şanssız denedim.

Sonunda ne çalıştı:

  1. Önceden dinamik olarak oluşturulmuş dize girdisini sil
  2. Modelimi sil (tüm denetleyicileri ve görünümleri koruyarak)
  3. ADO.NET Varlık Veri Modeli'ni yeniden oluşturun - aynı adı kullanarak, daha önce olduğu gibi aynı ada sahip yeni bir bağlantı dizesi girdisi oluşturun

Sonra her şey tekrar çalıştı, eksi 3 saat geliştirme süresi.

  1. tüm özellik niteliklerimi tabloya / varlık sınıflarına yeniden (bir yedeklemeden) ekleme

Dinamik olarak oluşturulan bağlantı dizesi ve modelle bir ilgisi var gibi görünüyor. Ne olabileceği konusunda herhangi bir düşünceyi takdir ediyorum.


3
2017-11-24 16:20