小编Jed*_*ant的帖子

WillCascadeOnDelete(true)这段关系的哪一部分?

这就是我今天所拥有的:

modelBuilder.Entity<User>()
    .HasOptional(p => p.DealDevice)
    .WithRequired(c => c.User)
    .WillCascadeOnDelete(false);
Run Code Online (Sandbox Code Playgroud)

DealDevice如果用户被删除,我想要删除相关的行,这样我就可以删除用户并让所有相关信息消失.

我可以改变WillCascadeOnDelete(false)WillCascadeOnDelete(true)或将是删除用户如果交易被删除?

c# entity-framework ef-code-first

11
推荐指数
1
解决办法
5022
查看次数

包括派生模型相关类

这是我用来尝试包含User表的Lambda表达式,它会抛出错误.

ICollection<Activity> activity = db.Activities
            .Include(i => i.Project.ProjectDoc.OfType<Cover>().Select(v => v.User))
            .Where(u => u.UserID == WebSecurity.CurrentUserId)
            .OrderByDescending(d => d.DateCreated).ToList();
Run Code Online (Sandbox Code Playgroud)

include语句给出了这个错误

Include路径表达式必须引用在类型上定义的导航属性.使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性.

有问题的模型

public abstract class ProjectDoc
{
    public int ProjectDocID { get; set; }
    public int ProjectID { get; set; }
    public string DocTitle { get; set; }
    public string Status { get; set; }
    public string Access { get; set; }
    public DateTime DateCreated { get; set; }


    public virtual ProjectDocAccess ProjectDocAccess { get; set; }
    public virtual …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda entity-framework

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

在Safari中打开WKWebview target ="_ blank"链接

我试图让使用斯威夫特和WKWebviews打开,有一个链接我的混合iOS应用程序target="_blank",或者如果URL中包含http://,https://mailto:在移动Safari浏览器.

这个答案我得到这个代码.

func webView(webView: WKWebView!, createWebViewWithConfiguration     configuration: WKWebViewConfiguration!, forNavigationAction navigationAction:     WKNavigationAction!, windowFeatures: WKWindowFeatures!) -> WKWebView! {
    if navigationAction.targetFrame == nil {
        webView.loadRequest(navigationAction.request)
    }
    return nil
}
Run Code Online (Sandbox Code Playgroud)

首先,这对我没有任何作用.其次,我希望它在新窗口中打开.我发现这个代码应该做那样的事情......

if let requestUrl = NSURL(string: "http://www.iSecurityPlus.com") {
     UIApplication.sharedApplication().openURL(requestUrl)
}
Run Code Online (Sandbox Code Playgroud)

我如何把这两个放在一起让它们起作用?我需要添加什么来使ViewController声明工作?

ios swift wkwebview

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

如何覆盖wkwebview超链接操作表

当您长按WkWebview中的超链接时,将获得一个操作表。长按时,我想用我自己的一组选项覆盖该操作表,但否则会表现正常。我可以参加长按活动,但我不知道如何:

  1. 防止显示默认操作表
  2. 长按结束时,防止Web视图导航到URL。
  3. 获取Web视图直接指向的基础href URL或html标记本身以及相关属性(例如ID)。

ios swift

5
推荐指数
1
解决办法
3515
查看次数

C#EF Deep Lambda Distinct Count Query

这是我想要的查询.

var commentActivity = project.ProjectDoc
        .Select(c => c.Comment.Select(i => i.UserID))
        .Distinct()
        .Count();
Run Code Online (Sandbox Code Playgroud)

我想要的是来自特定项目的不同用户的评论数量,但是任何ProjectDoc.这个查询"有效",结果是错误的.这个模型就像这样,一般都是草绘的.

 Project
      ProjectDoc
           Comment
Run Code Online (Sandbox Code Playgroud)

更新:我必须更深入一级,根据下面的答案,我尝试了一些不起作用的事情,所以我会发布这个作为参考.请注意两个SelectMany方法.

 var replyActivity = project.ProjectDoc
      .SelectMany(c => c.Comment.SelectMany(r => r.CommentReply.Select(u => u.UserID)))
      .Distinct()
      .Count();
Run Code Online (Sandbox Code Playgroud)

c# asp.net lambda entity-framework

4
推荐指数
1
解决办法
1397
查看次数

MVC4自定义OnActionExecuting Global.asx过滤器未被触发

我正在尝试创建一个全局过滤器,该过滤器将针对用户登录时的每个操作运行.从我所看到的,有两个必要的步骤.首先,在Global.asx文件中添加新过滤器.

public class MvcApplication : System.Web.HttpApplication
{
    //I added this
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new NotificationFilter());
    }
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        WebApiConfig.Register(GlobalConfiguration.Configuration);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
        AuthConfig.RegisterAuth();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我必须在filters文件夹中创建过滤器.

public class NotificationFilter : ActionFilterAttribute 
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    { //Breakpoint here is never triggered
        //This code doesn't work, but it's what I want to do
        if (WebSecurity.CurrentUserId > 0)
        {
            var notificationCount = db.Notifications.GroupBy(i => i.UserID).Count();
            if (notificationCount > 99)
            {
                ViewBag.Notifications = "99+";
            } …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4

4
推荐指数
1
解决办法
6194
查看次数

在div中包裹foreach循环的一部分

我试图在文档中的第二项之后包装所有内容.这是不起作用的代码.它正在Razor视图中使用.

@{var j = 0; var count = 10;}
@foreach (var reply in comment.CommentReply.OrderBy(x => x.DateCreated))
{

    if (j == 2 && count > 2) {
        <div class="hidden-replies">
    } 

    Html.RenderPartial("_Reply", reply);

    j++;
    if (j == count && count > 2) {
        </div>
    }

}
Run Code Online (Sandbox Code Playgroud)

我相信它仍然在等待结束div,所以其他人不会被阅读.我该如何解决?

c# razor asp.net-mvc-4

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

使用linq to entities检查数据库中是否已存在实体列表

我有一个来自外部来源的实体列表.我需要将它与我已有的相比较,并且只添加不存在的那些.下面的伪代码.

 var newVersions = item.Versions
      .Where(s => db.ExistingVersions
           .Select(t=>t.versionID)
           .DoesNotContains(s.versionID));
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,我不知道如何解决它.我不想使用for循环,因为我相信这意味着我会有数百个数据库命中只是为了检查每个项目的版本.我正在加载多个项目,每个项目有多达100个版本.

c# linq-to-entities entity-framework-5

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