小编mic*_*czy的帖子

从存储过程读取 INSERT 输出

我有以下存储过程

CREATE PROCEDURE [dbo].[InsertCategory]
  @Name nvarchar(100)
AS  
BEGIN 
    INSERT INTO [dbo].[Category]([Name])
    OUTPUT INSERTED.CategoryId, INSERTED.[Timestamp]
    VALUES (@Name)
END
Run Code Online (Sandbox Code Playgroud)

我这样称呼它:

EXEC [dbo].[InsertCategory] @Name= @Name
Run Code Online (Sandbox Code Playgroud)

我想知道插入的类别的id是什么(它在插入语句中输出)。它被写入输出,但我无法弄清楚如何在不修改存储过程的情况下将其分配给变量。在 C# 中,我可以使用 command.ExecuteReader 并获取它,但我不知道如何在 SQL Server 中获取它。

我也不能使用 SCOPE_IDENTITY 因为我们有自己的生成 id 的系统。

sql-server

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

如何使用 Angular 7 动态禁用输入

我正在尝试根据从 Component.ts 获取的值来禁用输入

在我的component.ts文件中我有这个值

disName = false;
Run Code Online (Sandbox Code Playgroud)

在我的 HTML 中我有这些元素

Name: <input type="text"
             value="name"
             size="15"
             id="name"
             name="firstName"
             [(ngModel)]="aproverFirstName"
             [attr.disable]="disName=='true' ? true : null">
Run Code Online (Sandbox Code Playgroud)

寻找的是,如果我的值是component.tsfalse,那么在 html 文件中,输入元素应该根据该值更改为禁用。

我也尝试过这个[disable]="disName"

我正在使用 Angular 7,非常感谢!

html input angular angular7

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

为什么IQueryable上的.Where()返回一个不同的类型,基于Lamba或Func <T,Tresult>是否作为参数传递

在我的Entity Framework Code First项目中,我有一个包含路由的存储库对象

public class EFRepository
{
    ...
    public IQueryable<Route> Routes
    {
        get { return context.Routes; }
    }
   ...
}
Run Code Online (Sandbox Code Playgroud)

如果我跑

var routes = this.repository.Routes
                  .Where(r => r.DeployedService.IsActive.HasValue 
                   && r.DeployedService.IsActive.Value);
Run Code Online (Sandbox Code Playgroud)

routes对象是类型IQueryable<Route>.

但是,如果我跑

Func<Route, bool> routeIsActive = r => r.DeployedService.IsActive.HasValue 
                                      && r.DeployedService.IsActive.Value;
var routes = this.repository.Routes.Where(routeIsActive);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,路由对象是类型IEnumerable<Route>.

我本以为他们会被评估相同,但显然我错了.两个语句之间有什么区别,为什么它们会返回不同的类型.

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

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

Visual Studio Code 中的多个搜索窗口

是否可以在 Visual Studio Code 中进行多次搜索?

搜索:

  • term A 在一个搜索窗口中显示结果
  • 然后搜索term B并将结果显示在另一个窗口中

并且始终让这两个窗口可见(就像在 Visual Studio 中一样)。

visual-studio-code

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

Google Fonts 的 Font-variant-numeric

我在我的页面上使用 Google Font Poppins

我尝试使用格式化数字

font-variant-numeric: tabular-nums;
Run Code Online (Sandbox Code Playgroud)

但它根本不影响数字外观。是否有任何 Google 字体支持 font-variant-numeric?

我不得不回退到一些网络安全的数字字体,但它看起来不太好。

css google-fonts

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

如何获取IQueryable <T>扩展方法而不是IEnumerable <T>扩展?

可能真的很简单,请原谅我的无知......

据我所知,有几种Where()扩展方法:

Queryable.Where<TSource> Method (IQueryable<TSource>, Expression<Func<TSource, Boolean>>)

Enumerable.Where<TSource> Method (IEnumerable<TSource>, Func<TSource, Boolean>)

以上两个扩展都位于System.Linq命名空间中,因此我可以做到Where()足以证明我已经导入了正确的命名空间 - 或者是否有我需要的IQueryable扩展的另一个命名空间?

我理解IQueryable<T>继承自IEnumerable<T>但为什么我不能获得IQueryable<T>扩展?

class Test
{
    IQueryable<Test> SomeMethod(Func<T, bool> criteria)
    {
        return new List<Test> { new Test() }.AsQueryable().Where(criteria); // compiler error converting IEnumerable<T> to IQueryable<T>
    }

}
Run Code Online (Sandbox Code Playgroud)

如上所示,应该有一个可用的扩展方法返回IQueryable?为什么它会解析为IEnumerable Extensions?

c# ienumerable extension-methods iqueryable .net-4.0

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

Linq - 我如何将这些合并为一个IQueryable?

我有一个简单的(混淆的)类:

public Thing ()
{
    public IList<string> Strings()
    { 
        // returns an IList of whatever, 
        // using strings as an example
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中的其他地方我IQueryable<Thing> things从数据库中检索一个

我的目标是将所有strings从一个things变为一个IQueryable<string> strings,可能是这样的:

var strings = from t in things
              select t.Strings()
Run Code Online (Sandbox Code Playgroud)

但那只能让我受益匪浅IQueryable<IList<string>>.如何将所有这些列表整合到一个无所不包的集合中?

.net c# linq iqueryable

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

在 Javascript 中按日期对数组进行排序

I\xc2\xb4m 使用sort()按日期对数组进行排序

\n\n
elements = data.sort(function(a, b) {\n    return a.date.getTime() - b.date.getTime()\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是某些元素缺少日期(或日期无效)\n并且 \xc2\xb4s 导致此错误:

\n\n

无法读取未定义的属性“getTime”

\n\n

更新:我有时间可以使用

\n\n

我应该在哪里检查日期是否是有效日期,然后用它来排序数组?

\n\n

更新:这是我拥有的数据

\n\n
[{\n        "date": "2019-06-15 14:57:13",\n        "user": "john"\n    },\n    {\n        "date": "2019-06-15 05:48:01",\n        "user": "mike"\n    },\n    {\n        "date": "bad-date-format",\n        "user": "donna"\n    },\n    {\n        "date": "2019-06-08 10:45:09",\n        "user": "Ismil"\n    },\n    {\n        "date": "",\n        "user": "Daniel17"\n    }\n]\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我期望的输出

\n\n
[\n    {\n        "date": "2019-06-15 14:57:13",\n        "user": "john"\n    },\n    {\n        "date": "2019-06-15 05:48:01",\n        "user": "mike"\n    },\n    {\n …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

Thymeleaf - 没有标签的输出变量

我使用 Thymeleaf 作为模板引擎,通常输出如下变量值:

在Java中我设置:

ctx.setVariable("tester", "hello");
Run Code Online (Sandbox Code Playgroud)

在 html 模板中我输出:

<span th:text="${tester}"></span>
Run Code Online (Sandbox Code Playgroud)

这很好用,但我想输出一个变量而不需要标签。以下内容会很棒:

${tester}
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用。我的目标是避免不必要的标签输出变量值。这可能与 Thymeleaf 有关吗?

java thymeleaf

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