Я использую сначала код Entity Framework.Почему база данных не создана?
DataBaseName - Я хочу создать базу данных на SQL Server.
В web.config
:
<configuration>
<connectionStrings>
<add name="DataContext"
providerName="System.Data.SqlClient"
connectionString="Data Source=USER\SQLEXPRESS;Initial Catalog=DataBaseName;Integrated Security=True;Pooling=False;User Instance = False" />
в global.asax
:
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
Database.SetInitializer(new DataContextInitializer());
}
DataContextInitializer
:
namespace CodeFirstMembershipSharp
{
public class DataContextInitializer : DropCreateDatabaseAlways<DataContext>
{
protected override void Seed(DataContext context)
{
MembershipCreateStatus Status;
Membership.CreateUser("Demo", "123456", null, null, null, true, out Status);
Roles.CreateRole("Admin");
Roles.AddUserToRole("Demo", "Admin");
}
}
}
DataContext
:
public class DataContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Bid>()
.HasRequired(a => a.Auction)
.WithMany()
.HasForeignKey(x => x.AuctionId).WillCascadeOnDelete(false);
modelBuilder.Entity<Bid>()
.HasRequired(a => a.User)
.WithMany()
.HasForeignKey(x => x.UserId).WillCascadeOnDelete(false);
}
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<Auction> Auctions { get; set; }
public DbSet<Page> Pages { get; set; }
public DbSet<Bid> Bids { get; set; }
}
Но база данных не создана. Что я забыл написать?
Я получаю ошибку один или несколько ошибок проверки в процессе генерации модели были обнаружены: System.Data.Edm.EdmAssociationConstraint:: типы всех свойств в зависимой роли реляционного ограничения должны быть так же, как соответствующие типы свойств в главной роли. Тип свойства «AuctionId» на объекте «Bid» не соответствует типу свойства «UserId» для объекта «Пользователь» в ссылочном ограничении «Bid_Auction». – Mediator
@simplydenis: Исключение является хорошим знаком, потому что это доказывает, что инициализация базы данных запущена :) Проблема не имеет ничего общего с вашим исходным вопросом. Исключение говорит, что существует несоответствие типов между свойствами ключа и внешнего ключа, но я не могу сказать точно, не видя вовлеченных классов 'User',' Bid', 'Auction' и т. Д. – Slauma