Asp.Net MVC 系列--基礎篇(2)
1.建立一個library 命名為eStudentDomain
2.右鍵reference資料夾,開啟nuget, 安裝entity framework
3.新增三個資料夾:
Contact : 主要放與下層通訊的介面
Domain Model:主要放邏輯實體
Entity : 僅用於資料表對應的實體
相關程式碼:
public interface IStudentContext
{
IQueryable<Student> StudentList { get; }
IQueryable<StudentClass> StudentClasseList { get; }
}
public class eStudentDbContext :DbContext,IStudentContext
{
public eStudentDbContext()
: base("DefaultConnection")
{
}
/// <summary>
/// Remember Here MUST be property!!!
/// </summary>
public DbSet<Student> Students { get; set; }
public DbSet<StudentClass> StudentClasses { get; set; }
public IQueryable<Student> StudentList { get { return Students; }}
public IQueryable<StudentClass> StudentClasseList { get { returnStudentClasses; } }
}
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public int ClassId { get; set; }
public DateTime JoinDate { get; set; }
public DateTime GraduateDate { get; set; }
}
public class StudentClass
{
public int Id { get; set; }
public string Name { get; set; }
public List<Student> Students { get;set; }
}
接下來,開啟migration 。
在此之前,做以下驗證:
1.DbContext類的建構函式,傳遞了連線字串:
2.Config檔案裡,連線字串名稱和DbContext配置的一致:
Domain專案的連結字串可以不設在App.Config中,和Web Application 共用一個,配置在Web.Config裡
然後,開啟package managerconsole(就在output旁邊) :
會發現,執行完畢自動生成了Migrations資料夾和Configuration.cs 檔案,
開啟這個配置檔案,記得 Set Automatic MigrationsEnable 為 true (預設為false),可以在seed裡面寫一些初始化資料庫的程式碼,每次同步資料庫都會執行seed。示例,我新增了三個班級。
最後,同步entity 實體和Seed中的邏輯,到資料庫
到db看一看:
我們新增的三個班級:
好了,本節主要完成:安裝entity framework 包,開啟資料同步,完成同步啟動執行邏輯,完成Domain層的邏輯實體,以及把相應的entity結構同步到db。
下一節,我們介紹如何用做好的domain和同步好的db完成MVC應用。
相關文章
- Asp.Net MVC系列--基礎篇(3)ASP.NETMVC
- Asp.Net MVC4 系列--基礎篇(1)ASP.NETMVC
- Asp.Net MVC4系列---基礎篇(5)ASP.NETMVC
- Asp.Net MVC4系列---基礎篇(4)ASP.NETMVC
- Asp.Net MVC4 系列--進階篇之Model(2)ASP.NETMVC
- Asp.Net MVC4 系列--進階篇之路由 (2)ASP.NETMVC路由
- Asp.Net MVC4 系列--進階篇之Helper(2)ASP.NETMVC
- Asp.Net MVC 系列--進階篇之FilterASP.NETMVCFilter
- Asp.Net MVC4 系列--進階篇之Controller(2)ASP.NETMVCController
- PHP DIY 系列------基礎篇:2. ComposerPHP
- Java Web系列:Spring MVC基礎JavaWebSpringMVC
- Asp.Net MVC4系列--進階篇之AJAXASP.NETMVC
- Asp.Net MVC4 系列--進階篇之ViewASP.NETMVCView
- Dagger 2 系列(二) -- 基礎篇:@Inject、@Component
- Dagger 2 系列(四) -- 基礎篇:@Named 和 @Qualifier
- ASP.NET MVC系列:AreaASP.NETMVC
- ASP.NET MVC系列:ModelASP.NETMVC
- Asp.Net MVC4 系列--進階篇之Model(1)ASP.NETMVC
- Asp.Net MVC4 系列-- 進階篇之路由(1)ASP.NETMVC路由
- Asp.Net MVC系列--進階篇之controller(1)ASP.NETMVCController
- Asp.Net MVC4系列--進階篇之Helper(1)ASP.NETMVC
- vue系列基礎篇(一)Vue
- .net 開源模板引擎jntemplate 教程:基礎篇之在ASP.NET MVC中使用JntemplateASP.NETMVC
- React基礎篇2React
- 【Kubernetes系列】第2篇 基礎概念介紹
- Dagger 2 系列(三) -- 基礎篇:@Module 和 @ProvidesIDE
- ASP.Net MVC開發基礎學習筆記(1):走向MVC模式ASP.NETMVC筆記模式
- ASP.Net MVC開發基礎學習筆記(2):HtmlHelper與擴充套件方法ASP.NETMVC筆記HTML套件
- ASP.NET MVC 使用 Datatables (2)ASP.NETMVC
- AJAX基於ASP.NET MVCASP.NETMVC
- 零基礎ASP.NET Core MVC外掛式開發ASP.NETMVC
- jQuery 基礎樣式篇(2)jQuery
- PHP DIY 系列------基礎篇:3. 反射PHP反射
- Spring MVC基礎SpringMVC
- Dagger2基礎篇(一)
- ASP.NET MVC+EF框架+EasyUI實現許可權管理系列之開篇ASP.NETMVC框架UI
- PHP DIY 系列------基礎篇:1. PSRPHP
- WebSocket系列之基礎知識入門篇Web