小编Rom*_*kij的帖子

实体框架:加入规则"A = substring(B)"?

如果数据库级别的对应表通过这样有趣的规则加入,我可以问某人如何声明两个实体'Record'和'DictionaryItem'之间的关联的方式:

FROM Records R LEFT OUTER JOIN DictionaryItems D 
  ON SUBSTRING(R.CompositeKey,3,8) = D.DictionaryItemId

PS我现在正在与POCO实体合作.

entity-framework entity-framework-4.1

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

拖动时更改光标

拖动时是否可以更改光标?我一直在寻找并试图做一段时间.我想更改在将对象拖动到另一个光标时显示的"不允许"光标.

我尝试创建一个事件并将其分配给我想要拖动的图像: -

<img id="drag1" class="drag" src="http://www.surfixe.com/img/tick2.png" draggable="true" ondragstart="drag(event)" />
Run Code Online (Sandbox Code Playgroud)

java的: -

function drag(ev) {
    $('#drag1').css('cursor', 'pointer');
}
Run Code Online (Sandbox Code Playgroud)


的jsfiddle

编辑:注意:我的小项目是支持html-5 drag and drop,所以我需要能够在用html-5拖动div时更改光标drag attribute

javascript css jquery cursor drag

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

如何在 SaveContext 上更新修改和删除的实体?

目标是跟踪谁更改和删除了实体。

所以我有一个实现接口的实体:

interface IAuditable {
   string ModifiedBy {get;set;}
}

class User: IAuditable {
   public int UserId {get;set;}
   public string UserName {get;set;}
   public string ModifiedBy {get;set;}
   [Timestamp]
   public byte[] RowVersion { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在实体删除操作的代码可能如下所示:

User user = context.Users.First();
user.ModifiedBy = CurrentUser.Name;
context.Users.Remove(employer);
context.SaveContext();
Run Code Online (Sandbox Code Playgroud)

实际上:ModifiedBy 永远不会执行更新(当我的数据库历史触发器期望“处理”它时)。只有删除语句才会在 DB上执行

如果实体被修改,我想知道如何强制 EF Core“更新”已删除的实体/条目(实现特定接口)。

注意: RowVersion增加了额外的复杂性。

PS 手动放置额外的 SaveContext 调用 - 当然是一种选择,但我想要一个通用的解决方案:许多不同的更新和删除,然后一个 SaveContext 进行所有分析。

在 SaveContext 收集之前手动更新这些属性var deletedEntries = entries.Where(e => e.State == EntityState.Deleted && isAuditable(e)) …

c# entity-framework-core entity-framework-core-2.1

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

如何在Spring MVC中为错误响应启用CORS?

我正在开发将Spring MVC用于后端并将Angular5用于前端的应用程序。我一直沉迷于Auth2安全层(包括跨域资源共享)的实现。我的CORS过滤器实现如下所示:

@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
@WebFilter("/*")
public class WebSecurityCorsFilter implements Filter {

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse res = (HttpServletResponse) response;
        res.setHeader("Access-Control-Allow-Origin", "*");
        res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
        res.setHeader("Access-Control-Max-Age", "3600");
        res.setHeader("Access-Control-Allow-Headers", "Authorization, Content-Type, Accept, x-requested-with, Cache-Control");


        if ("OPTIONS".equalsIgnoreCase(((HttpServletRequest) request).getMethod())) {
            res.setStatus(HttpServletResponse.SC_OK);
        } else {
            chain.doFilter(request, res);
        }

    }
    @Override
    public void destroy() {
    }
}
Run Code Online (Sandbox Code Playgroud)

我几乎可以正常工作,我能够获取access_token并使用它从ResourcesServer获取受保护的数据:

{“ access_token”:“ 4fcef1f8-4306-4047-9d4d-1c3cf74ecc44”,“ token_type”:“ bearer”,“ refresh_token”:“ …

spring spring-mvc cors oauth-2.0 angular

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

Babel 7模块UMD-为什么Transpeiler用小写字母定义全局项目,如何避免?

使用Babel 7(针对模块UMD配置)

import '@babel/polyfill';
import Popper from 'popper.js';
Run Code Online (Sandbox Code Playgroud)

被移植到

(function (global, factory) {
  if (typeof define === "function" && define.amd) {
    //...
  } else {
    var mod = {
      exports: {}
    };
    factory(global.polyfill, global.popper);
    global.site = mod.exports;
  }
})(/* ... */);
Run Code Online (Sandbox Code Playgroud)

当popper.js lib在global中将自身定义为global.Poopper时,global.popper用小写字母表示-第一个字母用大写字母表示。

一年前,我已经读过一些有关此类UMD问题的信息-但现在在Internet上找不到详细信息。因此,请向我说明如何避免此类问题(不使用Rollup及其工具)。

PS global.polyfill也是胡说八道。

实际上,我只是想在没有webpack的情况下使用Babel和以“旧方式”使用requirejs-将文件逐个文件传输到js文件夹,然后使用加载每个脚本<script>。正如对其工具的研究一样。但这是很难的。

babel umd

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

新工具集:原始F#模块或从OCaml移植

只有我可以使用新库,新语言才有意义.所以我想知道我可以使用F#在.net中使用哪些新库.如果F#与ML/OCaml兼容,那么Ocaml库被移植到F#或者可以被移植.我对.NET中的信号处理/语音识别,逻辑编程/ SLD解析库感兴趣.

.net f# ocaml signal-processing prolog

4
推荐指数
2
解决办法
433
查看次数

Laravel 5.4 Webpack Mix - 合并SCSS和CSS

有没有办法合并SCSS和CSS?

目前我这样做如下,但它不起作用.下面的代码应该将scss编译成临时目录,然后将其与普通的css合并.

mix.sass('resources/assets/sass/app.scss', '../resources/assets/tmp_compilation_files/scss-assets.css').styles([ 'resources/assets/tmp_compilation_files/scss-assets.css', 'node_modules/isteven-angular-multiselect/isteven-multi-select.css' ], 'public/css/app.css');
Run Code Online (Sandbox Code Playgroud)

但没什么.public/css/app.css文件中缺少已编译的SASS.这太烦人了,这么简单的任务,这是不可行的.我能够用elixir - 将scss编译成tmp目录(./resources/tmp),然后使用styles()将其与css文件合并.

我还没有在文档中找到有关路径参数的任何信息 - 我在哪里指定绝对路径,相对于公共目录的位置?

laravel webpack laravel-5 laravel-mix

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

如何将AWS CLI与Digital Ocean Spaces结合使用?

如何将AWS CLI与Digital Ocean Spaces结合使用?可能吗?

我试图添加我的密钥ID和机密,.aws/credentials但得到了:

调用ListBuckets操作时发生错误(InvalidAccessKeyId):您提供的AWS Access Key ID在我们的记录中不存在

amazon-web-services digital-ocean aws-cli

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

是否可以使用 UseExceptionHandler() 和 ExceptionHandler 选项来配置“专门处理 web api 请求”?

我想返回有关错误的特定 json 信息。

我有自定义中间件的解决方案,但我无法理解如何使用标准 ExceptionHandler 选项执行相同的操作:

我想:

app.UseExceptionHandler(
    new ExceptionHandlerOptions() {
        ExceptionHandlingPath=new PathString("/Error"),
        ExceptionHandler = async context =>
        {
            var ex = context.Features.Get<IExceptionHandlerFeature>().Error;
            var originalFeature = context.Features.Get<IExceptionHandlerPathFeature>();
            bool isApiCall = false;
            if (originalFeature!=null && originalFeature.Path!=null && originalFeature.Path.Contains("Api/")) // TODO: regex
            {
                isApiCall = true;
            }

            if (isApiCall)
            {
                context.Response.ContentType = "application/json";
                await context.Response.WriteAsync(AspCoreManager.GetErrorActionJson(ex, "", true));
            }
            else
            {
                await /* ???  how to get the "_next" delegate (from pipeline) or how to abort a pipeline and response with an "/Error" …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core asp.net-core-webapi

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

执行计划的CTE表现.是显示两次,还是两次处理?

这是带有CommonTableExpression的SQL.注意,USERS_PROJECTS_CTE使用了两次.

 WITH USERS_PROJECTS_CTE (PRO_ID, SHOW_IAS, USERNAME)
   AS
   (
      SELECT up.PRO_ID, up.SHOW_IAS, ISNULL(u.FIRST_NAME, '') + ' ' + ISNULL(u.SECOND_NAME, '')
      FROM SFMIS07_PRO.USERS_PROJECTS up
      INNER JOIN SFMIS07_ADM.USERS  AS u 
                ON  up.USER_ID = u.ID
      WHERE up.IS_RESP_PERSON = 1 AND up.valid_to is null
   )
   SELECT up.PRO_ID, 
          up1.USERNAME as RESP_USER1,
          up2.USERNAME as RESP_USER2,
          up.COUNT_
   FROM SFMIS07_PRO.PRO_RESP_USERS_KERNEL_MV  AS up 
        LEFT JOIN USERS_PROJECTS_CTE  AS up1 ON up.PRO_ID = up1.PRO_ID AND up1.SHOW_IAS=1  
        LEFT JOIN USERS_PROJECTS_CTE  AS up2 ON up.PRO_ID = up2.PRO_ID AND up2.SHOW_IAS=0  
Run Code Online (Sandbox Code Playgroud)

执行计划.请注意,CTE显示两次: 在此输入图像描述

问题:

  1. 我是对的,CTE不仅要显示两次,而且要处理两次?
  2. 是否有可能通知QO重用CTE?
  3. QO原则上是否有可能检测到"相同的SQL片段"并重用结果(我想通过应对已经准备好的数据来实现这一点)? …

sql-server query-optimization common-table-expression sql-server-2012

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