本周我一直在尝试继承,直到最近我还没有用过很多东西。MVC - 如何在DB和EDMX中最好地实现与TPT派生实体(DB优先)的多对多关系
最简单的说法是:我需要为供应商实施一个注册系统,供应商一旦确认就可以购买多个包装。我不想简单地创建Vendors类,而是想从Person实体中尝试Table-Per-Type继承。最初我有以下实现。
此实现工作尽可能创造一个PersonLogin和验证帐户。然而,只要我尝试使用PersonLogin作为供应商,我意识到我被卡住了,因为每个人都必须是特定的子类型,并且不能是多个。
回到绘图板我去了:我重新设计了我的数据库,让Vendor从PersonLogin实体继承,PersonLogin从Person实体继承。
我现在正在实施这个第二个版本,但因为我是比较新的继承的世界我不知道我是否正确或有效地完成它。
我想找到完成此功能的最佳方法,无论我使用继承还是关系都无关紧要。
电流控制器动作添加软件包供应商:
[HttpPost]
public ActionResult RegisterPackage(int packageID, int personID)
{
if (ModelState.IsValid)
{
db.PackagesInVendors.Add(new PackagesInVendor() { PackageID = packageID, VendorID = personID });
db.SaveChanges();
return View("Index");
}
ViewBag.Packages = new SelectList(db.Packages, "ID", "Name", packageID);
ViewBag.People = new SelectList(db.People, "PersonID", "Email", personID);
return View();
}
所有反馈意见或建议者居多,干杯。