Asp.net-Mvc

EF Code First 不生成表

  • April 28, 2014

我正在開發一個 EF Code first 站點,並且我已經編寫了我的類和一個上下文類,其來源是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using MySite.SalesTool.Data.Entities;
using System.Data.Entity.ModelConfiguration.Conventions;


namespace MySite.SalesTool.Data
{
   public class SalesToolEntities : DbContext
   {
       public DbSet<User> Users { get; set; }
       public DbSet<UserRole> UserRoles { get; set; }
       public DbSet<Job> Jobs { get; set; }
       public DbSet<JobAssigner> JobAssigners { get; set; }
       public DbSet<JobFile> JobFiles { get; set; }
       public DbSet<JobStatus> JobStatuses { get; set; }
       public DbSet<AssignedUser> AssignedUsers { get; set; }
   }
}

該項目建構良好,但是當我去執行該站點時,數據庫中沒有創建任何表,並且我收到一條錯誤消息,指出數據庫找不到我嘗試訪問的任何上下文對象,大概是因為程式碼首先沒有生成任何必要的表格。

有什麼想法為什麼它根本不會生成任何表格,也不會給我任何類型的錯誤資訊?

你有初始化策略嗎?

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SalesToolEntities>());

從您訂閱的內容來看,這聽起來像是您自己創建了數據庫。然後你需要指定一個初始化策略,否則不會向數據庫添加表/數據,查詢數據庫會導致異常:{“指定的表不存在。

$$ sometable $$"}

引用自:https://stackoverflow.com/questions/6281447