小编She*_*115的帖子

SQL Server存储过程Nullable参数

问题:
当向下面的脚本提供值然后使用C#中的设置执行时,如下面(或在SQL Server环境中),值不会在数据库中更新.

存储过程:

-- Updates the Value of any type of PropertyValue
-- (Type meaining simple Value, UnitValue, or DropDown)
CREATE PROCEDURE [dbo].[usp_UpdatePropertyValue]
    @PropertyValueID int,
    @Value varchar(max) = NULL,
    @UnitValue float = NULL,
    @UnitOfMeasureID int = NULL,
    @DropDownOptionID int = NULL
AS
BEGIN   
    -- If the Property has a @Value, Update it.
    IF @Value IS NOT NULL
    BEGIN
        UPDATE [dbo].[PropertyValue]
        SET
            Value = @Value
        WHERE
            [dbo].[PropertyValue].[ID] = @PropertyValueID
    END
    -- Else check if it has a @UnitValue & …
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures sql-server-2008-r2

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

除非逐步使用断点,否则代码行不起作用

我唯一能想到的是竞争条件,但是调用函数和代码行与我的知识是同步的.

/// <summary>
/// Gets the log format string for an info-level log.
/// </summary>
public static string Info<T>(string action, T obj)
{
    var stringBuilder = new StringBuilder(String.Format(
        "Action: {0} \tObject: {1} \tUser: {2} \tJson: ",
        action, typeof(T).Name, User
    ));

    // Set all virtual properties to null. This should stop circular references of navigation properties.
    var virtualProperties = typeof(T).GetProperties(BindingFlags.Instance | BindingFlags.Public).Where(x => x.GetSetMethod().IsVirtual && !x.PropertyType.IsPrimitive);
    foreach (var propInfo in virtualProperties)
    {
        propInfo.SetValue(obj, null); // This Line is the culprit.
    } …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-6

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

动态数组大小在运行时在ada中确定

有可能有一个大小在运行时确定的数组,如此,

Procedure prog is
   type myArray is array(Integer range <>) of Float;
   arraySize : Integer := 0;
   theArray : myArray(0..arraySize);
Begin
   -- Get Array size from user.
   put_line("How big would you like the array?");
   get(arraySize);

   For I in 0..arraySize Loop
      theArray(I) := 1.2 * I;
   End Loop;
End prog;
Run Code Online (Sandbox Code Playgroud)

除了使用动态链接列表或其他类似结构之外,有没有办法实现此结果?或者是否有一个简单的内置数据结构比使用动态链接列表更简单?

ada dynamic-arrays

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

使用GetProperties时如何区分导航属性和常规属性?

有没有办法在Entity-Framework类(数据库优先)上区分常规集合属性和导航属性?

我目前正在检查对象is ICollectionIsVirtual但是我认为这可能会在有人声明为虚拟集合的常规属性上触发。

问题:还有其他方法可以将导航属性与其他属性区分开吗?

上下文:我正在使用它来比较任何对象的值,但是我希望它忽略导航属性(其中包括忽略循环引用)。

foreach (var item in (IEnumerable)obj)
{
    list2.MoveNext();
    var item2 = list2.Current;
    foreach (PropertyInfo propInfo in item.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance))
    {
        Object v1 = propInfo.GetValue(item);
        Object v2 = propInfo.GetValue(item2);

        Primitive = (v1 == null && v2 == null) || IsPrimitive(v1.GetType());

        if (Primitive)
        {
            Assert.AreEqual(v1, v2);
        }
        else
        {
            // Ignore Navigation Properties
            // Currently assuming Virtual properties to be Navigation...
            if (propInfo.GetGetMethod().IsVirtual) continue;
            CompareObjects(v1, v2);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# reflection entity-framework

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

如何将对象同时为null并且不为null?

所以我有这段代码,如果我在return语句上断点,立即窗口输出下面的信息.

try
{
    await connection.OpenAsync();
    var obj = await cmd.ExecuteScalarAsync();
    return obj != null ? Int32.Parse(obj.ToString()) != 1 : false;
}
catch (Exception ex)
{
    Log.Error("An error has occurred checking a customer/product authorization.", ex);
    return false;
}
finally
{
    connection.Close();
}
Run Code Online (Sandbox Code Playgroud)

存储过程 以下是存储过程的相关部分.@HasAuthTable和@IsAuthorized属于这种类型bit.

SELECT (CASE WHEN @HasAuthTable = 0 THEN 1 ELSE 0 END) | @IsAuthorized AS IsAuthorized
Run Code Online (Sandbox Code Playgroud)

即时窗口

obj
0

obj == null
false

obj != null
false

obj == 0
error CS0019: …
Run Code Online (Sandbox Code Playgroud)

c# c#-6.0 visual-studio-2015

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

ADAL 和 MSAL 混淆

我的参考资料

根据这个,

从 2020 年 6 月 30 日开始,我们将不再向 Azure Active Directory 身份验证库 (ADAL) 和 Azure AD Graph 添加任何新功能。我们将继续提供技术支持和安全更新,但我们将不再提供功能更新。应用程序需要升级到 Microsoft 身份验证库 (MSAL) 和 Microsoft Graph。了解更多

和这个,

从 2022 年 6 月 30 日开始,我们将终止对 ADAL 和 Azure AD Graph 的支持,并且不再提供技术支持或安全更新。此后使用 Azure AD Graph 的应用程序将不再接收来自 Azure AD Graph 终结点的响应。在此之后,在现有操作系统版本上使用 ADAL 的应用程序将继续工作,但不会获得任何技术支持或安全更新。

这个链接

using Microsoft.IdentityModel.Clients.ActiveDirectory; // ADAL
using Microsoft.Identity.Client; // MSAL
Run Code Online (Sandbox Code Playgroud)

ADAL 应替换为 MSAL。但是,我的项目没有引用上述任何一个库。

这些是我的项目中的参考资料。

Microsoft.IdentityModel.JsonWebTokens
Microsoft.IdentityModel.Protocols.OpenIdConnect
Microsoft.IdentityModel.Tokens
Microsoft.Owin
Microsoft.Owin.Security
Microsoft.Owin.Security.Cookies
Microsoft.Owin.Security.OpenIdConnect
Owin
Run Code Online (Sandbox Code Playgroud)

问题

我对这个主题了解得越多,就越感到困惑,因为前一分钟我还以为 ADAL 只是授权而不是身份验证,而下一分钟我就看到它被称为 ADAL 身份验证。我只是想知道是否需要更新我的身份验证代码才能继续工作。

  • 由于我的项目没有引用Microsoft.IdentityModel.Clients.ActiveDirectory …

azure-active-directory adal azure-ad-msal

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

Ada Actual for this必须是out模式下的变量

我正在Ada for Data Structures and Algorithms类中创建一个程序.

我当前的问题是错误'实际'这个"必须是一个变量" 我做了一些环顾四周,我读到它是因为在out模式,但我并不完全理解为什么它发生在我身上我猜.

我看到的例子很有意义,但我想,因为这是我的编码,我只是没有看到它?

Procedure AddUnmarked(g:Grid; this:Linked_List_Coord.List_Type; c:Cell) is
      cNorth : Cell := getCell(g, North(c));
      cEast  : Cell := getCell(g, East(c));
      cSouth : Cell := getCell(g, South(c));
      cWest  : Cell := getCell(g, West(c));
   Begin
         if CellExists(g, cNorth) and not cNorth.IsMarked then
            Linked_List_Coord.Append(this, cNorth.Coords);
         elsif CellExists(g, cEast) and not cEast.IsMarked  then
            Linked_List_Coord.Append(this, cEast.Coords);
         elsif CellExists(g, cSouth) and not cSouth.IsMarked  then
            Linked_List_Coord.Append(this, cSouth.Coords);
         elsif CellExists(g, cWest) and not cWest.IsMarked  then
            Linked_List_Coord.Append(this, cWest.Coords);
         end if; …
Run Code Online (Sandbox Code Playgroud)

ada

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

textarea.val()值已更改但未在页面上显示

我有这样的textarea,

<textarea id="txtaFilter" cols="45" rows="5"></textarea>
Run Code Online (Sandbox Code Playgroud)

和以下脚本,

$(document).ready(function () {
    $(".selector").bind('change', function () {
        var value = $(this).val();
        $("#txtaFilter").val($("#txtaFilter").val() + value);
        $(this).children('option:eq(0)').prop('selected', true);
    });
});
Run Code Online (Sandbox Code Playgroud)

其中".selector"是应用于两个下拉列表的类.

当我在下拉列表中选择一个值时,它似乎什么都不做,但是在查看chrome中的调试器后,它正在更改值而不显示它.

有人知道为什么吗?关于.val()属性有什么特别之处吗?


问题方案:

我忘记了当我删除$(this).siblings("#txtaFilter")时页面上有多个"#txtaFilter",所以它访问了隐藏的而不是可见的.对不起,我猜这个问题也错了:/

html javascript jquery

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

带外连接的递归查询?

我正在尝试以下查询,

DECLARE @EntityType varchar(25)
SET @EntityType = 'Accessory';

WITH Entities (
        E_ID, E_Type,
        P_ID, P_Name, P_DataType, P_Required, P_OnlyOne,
        PV_ID, PV_Value, PV_EntityID, PV_ValueEntityID,
        PV_UnitValueID, PV_UnitID, PV_UnitName, PV_UnitDesc, PV_MeasureID, PV_MeasureName, PV_UnitValue,
        PV_SelectionID, PV_DropDownID, PV_DropDownName, PV_DropDownOptionID, PV_DropDownOptionName, PV_DropDownOptionDesc,
        RecursiveLevel
    )
AS
(
    -- Original Query
    SELECT dbo.Entity.ID AS E_ID, dbo.EntityType.Name AS E_Type,
    dbo.Property.ID AS P_ID, dbo.Property.Name AS P_Name, DataType.Name AS P_DataType, Required AS P_Required, OnlyOne AS P_OnlyOne,
    dbo.PropertyValue.ID AS PV_ID, dbo.PropertyValue.Value AS PV_Value, dbo.PropertyValue.EntityID AS PV_EntityID, dbo.PropertyValue.ValueEntityID AS PV_ValueEntityID,
    dbo.UnitValue.ID AS PV_UnitValueID, dbo.UnitOfMeasure.ID …
Run Code Online (Sandbox Code Playgroud)

sql sql-server recursive-query outer-join

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

Knockout JS绑定列表列表

我有一个包含a的类List<List<MyObject>>.我找不到任何如何在Knockout JS中绑定此列表列表的示例.可能吗?

我尝试过的:

<div data-bind="foreach: $data.ChildrenGrouped">
    <div data-bind="foreach: $data.ChildrenGrouped[$index]">

    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

任何人都可以指出我正确的方向和/或验证是否可能?

澄清:这是我的课程如何设置的一个例子,不确定它是否重要.

MyClass:
   Property1 Prop1 { get; set; }
   Property2 Prop2 { get; set; }
   List<List<MyClass>> ChildrenGrouped { get; set; }
Run Code Online (Sandbox Code Playgroud)

knockout.js

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

如何通过Azure AD检查用户是否在AD组中?

设置规格

  • .NET 4.5.1 MVC项目
  • 项目包含.aspx文件(旧版)
  • 当前,用户Azure AD通过Cookie进行身份验证。
  • Azure门户(通过应用程序注册)配置为“隐式授予-ID令牌”和“仅此组织目录中的帐户”
  • 本地AD组被上推到Azure AD。

Startup.cs配置

// COOKIES: Tells it to use cookies for authentication.
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
    CookieManager = new SystemWebCookieManager()
});

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions()
{
    ClientId = ClientID,
    Authority = Authority,
    PostLogoutRedirectUri = PostLogoutRedirectUri,
    Notifications = new OpenIdConnectAuthenticationNotifications()
    {
        AuthenticationFailed = PrincipalService.OnAzureAuthenticationFailure,
        AuthorizationCodeReceived = (AuthorizationCodeReceivedNotification notification) =>
        {
            var username = notification.AuthenticationTicket.Identity.Name.Split('#').LastOrDefault();
            var emailAddress = notification.AuthenticationTicket.Identity.Claims.FirstOrDefault(x => x.Type.Contains("emailaddress"))?.Value;
            Logger.Log(Level.Auth, $"Azure login success! Username: '{username}' Email: '{emailAddress}'.");
            return Task.FromResult(0);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

在进行此设置后,如何检查当前登录的用户是否在特定的AD组中? …

azure-active-directory microsoft-graph

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