【问题标题】:Enable EntityFramework.DynamicFilters scoped parameters in LINQPad在 LINQPad 中启用 EntityFramework.DynamicFilters 范围参数
【发布时间】:2016-02-18 16:03:55
【问题描述】:

我的多租户数据中有以下EntityFramework.DynamicFilters

protected override void OnModelCreating(DbModelBuilder modelBuilder) {
    [code removed for brevity]
    modelBuilder.Filter("NegotiationPermissionFilter", 
        (NegotiationPermission np, string userId, List<Guid> groupIds) => 
            (np.ApplicationUserId == userId) || (groupIds.Contains(np.GroupId)),
            () => "", () => new List<Guid>());
}

我想通过LINQPad查询数据。

如何配置 LINQPad 以允许我设置这些范围参数的值?

【问题讨论】:

    标签: asp.net entity-framework linqpad


    【解决方案1】:

    像这样将C# Statement 添加到 LINQPad:

    var groupIds = new List<Guid>();
    groupIds.Add(new Guid("283f872c-e3c9-e511-8272-984be10349a2"));
    groupIds.Add(new Guid("2c673813-66cb-e511-8274-984be10349a2"));
    this.SetFilterScopedParameterValue("NegotiationPermissionFilter", "userId", "b7562160-4416-49aa-9cb8-01bd7db93d59");
    this.SetFilterScopedParameterValue("NegotiationPermissionFilter", "groupIds", groupIds);
    var q = Negotiations.Include("NegotiationPermissions").Take (100);
    q.Dump();
    

    这些 GUID 与您的数据库中的数据相关的位置。

    • 按 F4 调出 LINQPad 的Query Properties 对话框
    • Additional Reference 添加到EntityFramework.DynamicFilters.dll
    • 输入Additional Namespace ImportEntityFramework.DynamicFilters
    • 点击Set as default for new queries,如果这对你来说很常见
    • 点击OK

    点击F5 运行查询。

    感谢Jon Skeet this answer here 向我展示了为什么我的数据在我知道应该出现的时候却没有出现。

    【讨论】:

      猜你喜欢
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2017-03-01
      • 2014-01-25
      • 2018-05-23
      • 1970-01-01
      相关资源
      最近更新 更多