選擇「ASP.NET Web 應用程式」→ MVC 範本,修改 _Layout.cshtml 導覽列與 Home/Index.cshtml 首頁內容,建立「聯絡人管理」主題風格。


透過 NuGet 安裝 EntityFramework 套件。

// Contact.cs
public class Contact {
public int ID { get; set; }
public string Name { get; set; }
public DateTime EnrollmentDate { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
// Enrollment.cs
public class Enrollment {
public int EnrollmentID { get; set; }
public int ContactID { get; set; }
public int GroupID { get; set; }
public virtual Contact Contact { get; set; }
public virtual Group Group { get; set; }
}
// Group.cs
public enum GroupName { Friend, Family, Colleague, Schoolmate, Stranger }
public class Group {
public int GroupID { get; set; }
public GroupName? GroupName { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
// DAL/CommunicationContext.cs
public class CommunicationContext : DbContext {
public DbSet<Contact> Contacts { get; set; }
public DbSet<Enrollment> Enrollments { get; set; }
public DbSet<Group> Groups { get; set; }
}
// DAL/CommunicationInitializer.cs
public class CommunicationInitializer : DropCreateDatabaseIfModelChanges<CommunicationContext> {
protected override void Seed(CommunicationContext context) {
// 種子資料略
base.Seed(context);
}
}
<connectionStrings>
<add name="CommunicationContext"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=ContactCommunication;Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<entityFramework>
<contexts>
<context type="PCT.Contact.DAL.CommunicationContext, PCT.Contact">
<databaseInitializer type="PCT.Contact.DAL.CommunicationInitializer, PCT.Contact" />
</context>
</contexts>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
執行專案,EF 自動建立資料庫與資料表,種子資料寫入成功。


本範例示範 MVC5 + EF6 Code First 完整流程:模型定義、DbContext、初始化策略、連線字串組態與自動遷移建庫。LocalDB 適合開發階段,部署生產環境請改用完整 SQL Server。