小编Moh*_*Ali的帖子

删除TSQL中列的默认约束

我有一个像这样的列的表当前是活的:

name NVARCHAR(128) NOT NULL DEFAULT ''
Run Code Online (Sandbox Code Playgroud)

我正在改变这样的列,使其可以为空:

ALTER TABLE  mytable ALTER COLUMN name NVARCHAR(128) NULL
Run Code Online (Sandbox Code Playgroud)

但是,在表的一个实例中名为"DF__mytable__datab__7DE4B36"的默认约束仍然存在.我知道如果原作者命名约束,就可以避免这种情况.我有几个这些表的实例,但我不想手动删除每个表中的每个约束.在Sql Server中的一个列上删除这个默认约束的最简单和最优雅的方法是什么,我可以统一地应用于该表的每个实例?

编辑

这是我最终使用的脚本:

DECLARE @table_id AS INT
DECLARE @name_column_id AS INT
DECLARE @sql nvarchar(255) 

-- Find table id
SET @table_id = OBJECT_ID('mytable')

-- Find name column id
SELECT @name_column_id = column_id
FROM sys.columns
WHERE object_id = @table_id
AND name = 'name'

-- Remove default constraint from name column
SELECT @sql = 'ALTER TABLE mytable DROP CONSTRAINT ' + D.name
FROM sys.default_constraints AS D …
Run Code Online (Sandbox Code Playgroud)

sql t-sql database sql-server

39
推荐指数
3
解决办法
9万
查看次数

检查枚举标志的最佳做法

我注意到这两个模式用于检查枚举标志:

[Flags]
public enum PurchaseType
{
    None = 0,
    SalePrice = 2,
    RegularPrice = 4,
    Clearance = 8,
    CreditCard = 16
}

public void Test()
{
    PurchaseType type = PurchaseType.Clearance;
    type |= PurchaseType.CreditCard;

    // Practice 1
    if ((type & PurchaseType.Clearance) == PurchaseType.Clearance)
    {
        // Clearance item handling
    }

    // Practice 2
    if ((type & PurchaseType.CreditCard) != 0)
    {
        // Credit card item handling   
    }
}
Run Code Online (Sandbox Code Playgroud)

在检查枚举标志的两种方法中,哪一种更好,性能,可读性,代码健康以及我应该做出的任何其他考虑?

谢谢,穆罕默德

.net c# enums enum-flags

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

WCF行为评估顺序和ServiceAuthorizationBehavior

根据MSDN中的这篇文章,WCF行为的评估顺序是:

  1. 合同
  2. 手术
  3. 端点
  4. 服务

我有一个服务,它使用ServiceAuthorizationManager类对请求执行一些自定义安全验证.此授权管理器连接到实现IServiceBehavior的ServiceAuthorizationBehavior.

我还定义了实现IEndpointBehavior的自定义行为.

根据上面的顺序,应该在服务行为之前评估端点行为,但是,日志证明不是这样.正在评估端点行为之前的ServiceAuthorizationBehavior.

这是一个错误吗?这里发生了什么?

谢谢,穆罕默德

wcf web-services

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

标签 统计

.net ×1

c# ×1

database ×1

enum-flags ×1

enums ×1

sql ×1

sql-server ×1

t-sql ×1

wcf ×1

web-services ×1