Załóżmy, że mam bazę danych z 1 tabelą o nazwie Products
. Tak więc przechodzę przez podejście Db First i tworzę model EF w VS 2012 z opcją pluralize and singularize
.Jak zdefiniować niestandardową konwencję nazewnictwa, jeśli EF 5
Tak więc model tworzy dla mnie obiekt Product
, a domyślna konwencja nazewnictwa odwzorowuje ten obiekt na tabelę dbo.Products
.
Teraz chcę zmienić to zachowanie. W rzeczywistości chcę utworzyć niestandardową konwencję do mapowania jednostki ProductModel
do tabeli dbo.Products
.
Czy to możliwe ?! Jeśli tak to jak?
Aktualizacja: Mój cel to zrobić ...
Jak wiesz, kiedy tylko zaktualizować swój model z bazą danych, jeżeli powoduje zmianę modelu podmioty generowane automatycznie będzie ponad napisany .
Z drugiej strony chcę dodać adnotacja dane przypisuje właściwości jednostki, aby można było wykorzystać je kształtować swoje poglądy i chcą po prostu pracować z moich DbContext jak na poniższym wkładki:
public ActionResult Create(Product product)
{
if (ModelState.IsValid)
{
db.Products.Add(product);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(product);
}
się Problem polega na tym, że moja analiza aplikacji nie została zakończona, a baza danych zmienia się w czasie. Potrzebuję więc zaktualizować model z bazy danych, a potem wszystkie moje atrybuty zostaną usunięte.
Postanowiłem więc utworzyć klasę ProductModel
i skopiować do niej kody Product
, a następnie przekazać widoki jako model widoku. Następnie whene Chcę zapytać mojego db, będę się wyjątek, który mówi, że nazwa dbo.ProductModels
nie istnieje w db ...
z góry dzięki
Nie ...! Mogę, ale nie chcę ulepszać .edmx i jego bytów – AminSaghi
Więc teraz jestem całkowicie zagubiony co do (a) tego, co chcesz zrobić, i (b) jakie jest twoje pytanie. jedyne * konwencje *, które znam, to niestandardowe konwencje, które EF ** 6 ** przyniosą na pierwszy rozwój kodu. Nic więcej nie istnieje, obawiam się, –
Drodzy przyjaciele! Zaktualizowałem moje Q i dodałem kilka wyjaśnień ... – AminSaghi