Asp.net-Mvc

實體框架:EDMX 文件和實體類的命名約定/建議?

  • June 15, 2013

我還沒有與實體框架有太多接觸,因此我想听聽一些有經驗的人。

我有一個 MVC 項目,我的 DataAccess 位於另一個項目中,我想在其中放置我的 EDMX 文件。

那麼我想如何命名這個文件呢?預設情況下它是“Model1.edmx”,但在 MVC 的上下文中,我對這個名稱感到不舒服。真的是模特嗎?我傾向於稱它為“DbModel”或其他表示它與數據庫相關的東西。

你們怎麼稱呼實體類?我想我喜歡 EF 的典型名稱“DbContext”。

所以在我的控制器中,我會有類似的東西

public class WorldController : Controller
{
   DbContext db = new DbContext();

   public ActionResult Own()
   {
       var allContinents = db.Continents;
       [...]
   }
}

對不起,我很挑剔,但我真的很關心命名。

關心命名是件好事!

如何做到這一點取決於您的應用程序的組成。假設您有一個用於註冊 UFO 目擊事件的 Web 應用程序,舉個常見的例子。如果您的數據庫有一個單獨的部分(可能是一個單獨的模式)包含使用者、角色和權限,您可以創建一個名為 AuthorizationContext 的上下文,並為業務部分創建一個名為 UfoDbContext 的上下文。

我的意思是,如果有明確的聚合沒有或很少重疊,您可以為它們創建具有明確名稱的單獨上下文。如果一個上下文符合要求,我仍然會給它一些與您的應用程序域相關的有意義的名稱(不是 DbContext)。

有些人(我不是其中之一)喜歡為每個應用程序“列”(數據庫到 UI)或“使用者故事”使用一個上下文。那麼有意義的名字就更重要了。

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