0

因爲我的解決方案中已經有了一個DB項目,所以我想知道是否可以利用Entity Framework來使Web應用程序可以與數據庫進行通信而無需進行任何遷移,或者爲了使用實體的上下文框架?使用實體框架時,是否需要遷移?

如果不需要遷移,那麼我也不需要設計器(edmx)文件,我可以製作我的模型並將它們鏈接到我的上下文中嗎?

+3

遷移是可選的,你可以使用DB項目來更新你的數據庫。 EDMX採用數據庫第一工作流程,因此您不要先在代碼中使用它們。您可能會遇到的問題是,如果您對代碼進行了與數據庫不同步的更改,那麼您將遇到異常,或者您的關係無法正常工作。 –

回答

1

根本不需要。 我經常爲一些數據庫寫簡短的解決方案,我只是想在其中添加一些功能。我通常所做的就是在VS2015中打開SQL Server對象資源管理器,展開我感興趣的表,然後隨時編寫一個類,以匹配我需要的字段。

即對於在數據庫中命名爲「類」的表,我最終會在C#類

public class SomeClass 
{ 
    public int Id {get; set;} 
    public string Title {get; set;} 
    // +other intersting fields 
} 

然後,我只是創建一個的DbContext類指向我的數據庫:

public class MyContext : DbContext 
{ 
    public DbSet<SomeClass> Classes{get; set;} 

    public MyContext() : base("myConnectionString"){} 
} 

就是這樣。無需遷移。然後它只是簡單的工作:)