という名前のテーブルが 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
名前がデータベースに存在しないという例外が発生します...
前もって感謝します