假設我有一個名爲Products
的表的數據庫。所以,我通過Db優先方法,在VS 2012中創建了一個EF模型,其中pluralize and singularize
選項。如何定義自定義命名約定如果EF 5
因此,該模型爲我創建了一個Product
實體,默認命名約定將此實體映射到dbo.Products
表。
現在我想改變這種行爲。實際上,我想創建一個自定義約定來將ProductModel
實體映射到dbo.Products
表。
這可能嗎?!如果是這樣,怎麼樣?
更新:我的目標做...
你知道,當你從更新數據庫模型,如果它導致模型中的變化,自動生成的實體將被覆蓋。
從另一方面,我想補充數據註解屬性實體屬性,這樣我可以用它來塑造自己的看法,並希望簡單地用我的DbContext像下面插入工作:
public ActionResult Create(Product product)
{
if (ModelState.IsValid)
{
db.Products.Add(product);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(product);
}
的問題是我的應用程序分析未完成,數據庫更改時間。所以,我需要從數據庫更新模型,之後,我的所有屬性都將被刪除。
因此,我決定創建一個ProductModel
類並將Product
代碼複製到它,並將視圖作爲視圖模型傳遞給它。然後,whene我想查詢我的分貝,我會得到它說,dbo.ProductModels
名稱未在數據庫中存在的異常...
在此先感謝
不......!我可以,但我不想調整.edmx和它的實體 – AminSaghi
那麼現在我完全失去了(a)你想做什麼,和(b)你的問題真的是什麼...... 。我所知道的唯一的*約定是EF ** 6 **將爲代碼優先開發帶來的自定義慣例。沒有別的東西存在,恐怕 –
親愛的朋友們!我更新了我的Q並添加了一些解釋... – AminSaghi