基本上我想要实现的是我有三个表,一个父表将始终有一个表,并且只会填充其他两个表中的一个.我正在处理的复杂性是表的主键是两个字段的组合
ParentTable
-----------
UniqueID
OwnerID
[Some more fields]
ChildTable1
-----------
UniqueID
OwnerID
[Some more fields]
ChildTable2
-----------
UniqueID
OwnerID
[Some more fields]
Run Code Online (Sandbox Code Playgroud)
我想知道是否有人建议如何通过EF Code First最好地使用Fluent API.
我正在玩它们内部的区域和路由.我想要实现的是能够拥有一个看起来像这样的URL;
PracticeAdmin/Practice/[Practice Name]
Run Code Online (Sandbox Code Playgroud)
然后,我可以添加编辑和删除等内容.
过去通过在操作中添加此注释来处理区域时,我已经实现了这一点
[Route("PracticeAdmin/Practices/{practiceName}")]
public ActionResult Details(string practiceName)
Run Code Online (Sandbox Code Playgroud)
这会生成我想要的URL.我遇到的问题是,当我在使用区域时尝试这样做时,我得到的链接看起来像这样;
PracticeAdmin/Practices?practiceName=Practice1
Run Code Online (Sandbox Code Playgroud)
这不是我要找的.
我用来尝试生成这个的代码是
using System.Web.Mvc;
namespace TrainingPortal.Areas.PracticeAdmin
{
public class PracticeAdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "PracticeAdmin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"PracticeAdmin_default",
"PracticeAdmin/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "TrainingPortal.Areas.PracticeAdmin.Controllers" }
);
}
}
}
Run Code Online (Sandbox Code Playgroud)
namespace TrainingPortal
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute( …Run Code Online (Sandbox Code Playgroud)