小编Min*_*ess的帖子

引入FOREIGN KEY约束可能会导致循环或多个级联路径.在删除时指定无操作

用户,雇主,候选人和工作,雇主可以创建多个工作,每个工作只能有一个雇主,候选人可以申请许多工作,每个工作可以有多个申请成员.

所以这种关系是这样的:

在此输入图像描述

我正在使用实体框架代码的第一种方法,此时如果我删除一个雇主,它将从数据库中删除所有相关的工作和用户,如果我删除候选人,它将删除用户:

modelBuilder.Entity<Employer>()
     .HasRequired(e => e.User)
    .WithOptional(e => e.Employer).WillCascadeOnDelete();

//member is candidate
modelBuilder.Entity<Member>()
    .HasRequired(e => e.User)
    .WithOptional(e => e.Member).WillCascadeOnDelete();

modelBuilder.Entity<Employer>()
    .HasMany(a => a.Jobs)
    .WithRequired(b => b.Employer)
    .WillCascadeOnDelete();
Run Code Online (Sandbox Code Playgroud)

一切正常,除非我在候选人和作业之间指定多对多关系并使用"update-database"更新数据库,它给了我这个错误:

在表'MemberJobMap'上引入FOREIGN KEY约束'FK_dbo.MemberJobMap_dbo.Jobs_JobId'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.无法创建约束.查看以前的错误.

这是我如何指定多对多的关系:

modelBuilder.Entity<Member>()
   .HasMany(m => m.Jobs)
   .WithMany(j => j.Members)
   .Map(c =>
   {
      c.MapLeftKey("Id");
      c.MapRightKey("JobId");
      c.ToTable("MemberJobMap");
   });
Run Code Online (Sandbox Code Playgroud)

当我添加迁移时:

CreateTable(
   "dbo.MemberJobMap",
   c => new
   {
      Id = c.String(nullable: false, maxLength: 128),
      JobId = c.Int(nullable: false),
   })
   .PrimaryKey(t => new { t.Id, t.JobId })
   .ForeignKey("dbo.Members", t …
Run Code Online (Sandbox Code Playgroud)

database sql-server asp.net-mvc entity-framework

16
推荐指数
2
解决办法
2万
查看次数

ASP.NET MVC 5 Identity 2基于用户角色的登录重定向

我正在尝试根据用户的角色将用户重定向到页面,

这是ASP.NET MVC 5附带的登录功能的默认实现:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
    if (ModelState.IsValid)
    {
        var user = await UserManager.FindAsync(model.UserName, model.Password);
        if (user != null)
        {
            await SignInAsync(user, model.RememberMe);
            return RedirectToLocal(returnUrl);
        }
        else
        {
            ModelState.AddModelError("", "Invalid username or password.");
        }
    }

    // If we got this far, something failed, redisplay form
    return View(model);
}

private ActionResult RedirectToLocal(string returnUrl)
{
    if (Url.IsLocalUrl(returnUrl))
    {
        return Redirect(returnUrl);
    }
    else
    {
        return RedirectToAction("Index", "Employer");
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够根据用户的角色重定向用户,我试着这样做:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc redirect controller asp.net-identity

14
推荐指数
1
解决办法
2万
查看次数

jquery ui datepicker和mvc视图模型类型datetime

我在我的视图模型上使用jquery datepicker

这是我的观点:

@Html.TextBoxFor(o => o.JobStartDate, new { id = "dt1", @class = "input-block-level" })
@Html.ValidationMessage("JobStartDate")
Run Code Online (Sandbox Code Playgroud)

和我的脚本:

$("#dt1").datepicker({ dateFormat: "dd/mm/yy" });
Run Code Online (Sandbox Code Playgroud)

如果我的日期<= 12,一切正常,如果我的日期超过12,它将显示验证错误消息,说"字段开始日期必须是日期".(我正在使用jquery验证)

例如:日期2014年12月16日将给出错误,而12/12/2014将不会

这是我的视图模型:

[Required]
[DataType(DataType.Date)]
[Display(Name = "Start Date")]
public DateTime JobStartDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

我怀疑我的视图模型预期格式为mm/dd/yyyy的日期,而在我的datepicker上我指定了dd/mm/yy,有没有办法告诉我的viewmodel我期待dd/mm/yy格式如此如果日期> = 12,它不会抛出错误消息.

asp.net-mvc jquery datetime datepicker viewmodel

9
推荐指数
1
解决办法
5613
查看次数

如何更改在Tinymce中添加图像的默认html

当我在tinymce中添加图像时,这是我得到的默认html源代码:

<p><img class="img-responsive img-post" src="/Images/uploads/img.png" alt="" /></p>
Run Code Online (Sandbox Code Playgroud)

我该如何改变?类似于:

<p><img class="img-responsive img-post" data-original="/Images/uploads/img.png" src="/Images/loading.gif" alt="" /></p>
Run Code Online (Sandbox Code Playgroud)

我有数据原始的src和src是加载图标,它需要是这样的,因为我有懒惰加载图像.

我知道你可以扩展有效元素:

extend_valid_elements: "data-original"
Run Code Online (Sandbox Code Playgroud)

但是如何更改默认html源代码的结构?是否有类似的选择确定图像插入回调?

更新:

这是我的tinymce启动代码:

/******************************tinyMce*******************************/
function tinyMce() {
    tinymce.init({
        theme: "modern",
        selector: "#mceEditor",
        height: 500,
        extend_valid_elements: "data-original",
        relative_urls: true,
        convert_urls: false,
        image_advtab: true,
        image_title: false,
        image_description: false,
        image_dimensions: false,
        image_class_list: [
            { title: "Responsive", value: "lazy img-responsive img-post" }
        ],
        image_list: function (success) {
            $.ajax({
                url: "/Image/List",
                type: "GET",
                dataType: "json",
                success: function (data) {
                    success(data);
                }
            });
        },
        // enable automatic …
Run Code Online (Sandbox Code Playgroud)

html css jquery tinymce jquery-lazyload

7
推荐指数
1
解决办法
3325
查看次数