2012-11-20 44 views
11

i etkinleştirmek-göçler i aşağıdaki eroors olsun yazarken ben ... Bir ASP.NET MVC proje yapıyorum:Hata alıyorum

More than one context type was found in the assembly 'eManager.Web'. 
To enable migrations for eManager.Web.Infrastructure.DepartmentDb, use Enable-Migrations -ContextTypeName eManager.Web.Infrastructure.DepartmentDb. 
To enable migrations for eManager.Web.Models.UsersContext, use Enable-Migrations -ContextTypeName eManager.Web.Models.UsersContext. 

cevap

35

hata iletisi Sorunun tam olarak ne olduğunu ve yapılması gerekenleri de içerecek şekilde ne yapılması gerektiğini belirtir. Görünüşe göre, projenizde birden fazla içerik var (Web.Infrastructure.DepartmentDb ve Web.Models.UsersContext) ve geçişler bu geçişlerin hangisinin etkinleştirileceğini bilmiyor. Bağlam türüne işaret etmelisiniz.

Enable-Migrations -ContextTypeName eManager.Web.Infrastructure.DepartmentDb. 

eManager.Web.Infrastructure.DepartmentDb için geçişleri sağlamak için veya

Enable-Migrations -ContextTypeName eManager.Web.Models.UsersContext. 

olanlar için eManager.Web.Models.UsersContext

+0

Yardımlarınız için çok teşekkür ederim ... mvc için yeni bir bie'yim ... bu yüzden bu geçişlere takıldım .. sadece öğretici taslakta sadece göçmenler ve işler yazıyorlar – fizmhd

+1

Evet, öğreticiler genellikle en basit duruma odaklanır. Basit bir Etkinleştirme Sürecine sahip olsaydınız, yalnızca Etkinleştirmeler yalnızca çalışırdı. – Pawel

+0

bana plz önerebilirsin ... asp.net mvc'i öğrenmek için bir kitap ... soyutlama ve arayüz vb. Hakkında iyi bir bilgi sahibi değilim, ... n-katmanlı mimaride çalışıyorum .. – fizmhd

1

için geçişleri sağlamak için: Hata mesajı kullanımı gereğince Bu, projede tek bir bağlamda kalmak isteyebilir. Bu durumda, DepartmentDb içeriği olacaktır.

public DepartmentDb() 
 
: base("DefaultConnection") 
 
{ 
 

 
} 
 

 
public DbSet<UserProfile> UserProfiles { get; set; }

İleri:

senin DepartmentDb bağlamında aşağıdaki kodu Taşı

sizin AccountModels.cs alın ve silme/UsersContext sınıfını açýklama. Yapı hatalarıyla karşılaşırsınız - dolayısıyla UsersContext başvurularını DepartmentDb ile değiştirin.

Yeniden oluşturun ve başarılı olmalıdır.

Şimdi Paket Yöneticisi Console ve çalıştırma PM> gidin etkinleştirmek-göçler

Sen "Kod İlk Taşıma proje eManager.Web için etkinleştirilmiş." Olsun should

İlgili konular