En iyi yanıtlayıcılar
MVC 4 Entity Framework CodeFirst ile Veritabanı ve Tabloları Oluşturamama Problemi

Soru
-
Merhaba Arkadaşlar,
MVC 4 projesinde Entity Framework Code First yaklaşımı ile veritabanı ve tabloları oluşturmak istiyorum fakat hiç birşeyi oluşturamadım...
class yapım şu şekilde;
1 adet Kategori Class ım var
publicclassKategoriler { [Key] publicint KategoriID { get; set; } publicstring KategoriAd { get; set; } publicvirtualList<Urunler> Urunlers { get; set; }
}
1 adet Ürünler class ım var
public class Urunler { [Key] public int UrunID { get; set; } public string UrunAd { get; set; } public string UrunResim { get; set; } public int KategoriID { get; set; } public virtual Kategoriler Kategoriler { get; set; } }
bunların set edilmesi için birde ModelContext isimli bir class oluşturdum
public class ModelContext : DbContext { public DbSet<Kategoriler> Kategorilers { get; set; } public DbSet<Urunler> Urunlers { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<ModelContext>()); base.OnModelCreating(modelBuilder); } }
son olarak web.config içerisinde ki connectionString im bu şekilde
<add name="ModelContext" connectionString="Data Source=.;Initial Catalog=ModelContext;Integrated Security=True;" providerName="System.Data.SqlClient" />
projeyi build ettiğim de veritabanı oluşmuyor.. nerde eksiğim var anlayamadım,
birde Visual Studio daki Server Expolerer dan gelen hata şu şekilde
Cannot open database "ModelContext" requested by the login. The login failed.
Login failed for user 'Pc'.
yardımlarınız için şimdiden teşekkür ederim.
- Düzenleyen fsem 17 Eylül 2014 Çarşamba 21:33
Yanıtlar
-
uzun araştırmalar sonucunda sorunumu çözdüm..
Sql Server da herhangi bir ModelContext adında bir veritabanı bulmadığı için login hatası veriyor.. öyle bir DB yokki ben login olayım demek istiyor aslında :)
yukardaki (ilk posttaki) işlemleri yaptıktan sonra ilk olarak Sql Server a manuel veritabanı oluşturdum ModelContext adında (yani connectionString deki initial catalog da ne yazıyorsa) sonrasında
Package Console Manager ı açıp Enable-Migrations –EnableAutomaticMigrations komut satırını çalıştırdım bşarılı bir şekilde işlem tamamlandıktan sonra son olarak Update-Database komutunu çalıştırdıktan sonra modellediğimiz tablolar gelmiş oldu..
Entity Framework CodeFirst kullanırken bu şekilde bir hata alan olursa yardımcı olması açısından çözümü paylaştım..
herkese iyi çalışmalar...- Yanıt Olarak İşaretleyen fsem 18 Eylül 2014 Perşembe 22:19
Tüm Yanıtlar
-
EF ile alakası yok ki, database e bağlanamoyorsun. IIS de mi debug ediyorsun? SqlServer authntication ile denermisin.
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
-
-
Ya şifresi yanlış yada Mixed mode değil. IIS'in default application pool kullanıcısı SQL'e admin yetkisi ile bağlanamaz. Neden IIS Express kullanmıyorsun debug için? daha rahat edersin.
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
-
Önay Hocam ilginiz için teşekkür ederim şöyle söyleyim..
vs2013 olduğu için zaten default olarak IIS Express kullanmış oluyorum.birde normal bir şekilde sql server a hem windows hemde sql authentication ile bağlanabiliyorum, yada Ado.Net Entity Data Model kullanarak da var olan veritabanını modeleme yapıyor herhangi bir login problemi yaşamıyorum.. sadece code first ile yapmak istediğim de veritabanını oluşturmuyor ve o hatayı veriyor..
-
uzun araştırmalar sonucunda sorunumu çözdüm..
Sql Server da herhangi bir ModelContext adında bir veritabanı bulmadığı için login hatası veriyor.. öyle bir DB yokki ben login olayım demek istiyor aslında :)
yukardaki (ilk posttaki) işlemleri yaptıktan sonra ilk olarak Sql Server a manuel veritabanı oluşturdum ModelContext adında (yani connectionString deki initial catalog da ne yazıyorsa) sonrasında
Package Console Manager ı açıp Enable-Migrations –EnableAutomaticMigrations komut satırını çalıştırdım bşarılı bir şekilde işlem tamamlandıktan sonra son olarak Update-Database komutunu çalıştırdıktan sonra modellediğimiz tablolar gelmiş oldu..
Entity Framework CodeFirst kullanırken bu şekilde bir hata alan olursa yardımcı olması açısından çözümü paylaştım..
herkese iyi çalışmalar...- Yanıt Olarak İşaretleyen fsem 18 Eylül 2014 Perşembe 22:19