假设我有一个数据库,其中包含 1 个名为Products
. 因此,我通过 Db First 方法并在 VS 2012 中创建一个带有pluralize and singularize
选项的 EF 模型。
因此,模型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
代码复制到它,并将视图作为视图模型传递给它。然后,当我想查询我的数据库时,我会得到一个异常,说dbo.ProductModels
数据库中不存在该名称......
提前致谢