小编Ren*_*ato的帖子

sys.columns.max_length的替代品

我编写了以下脚本来获取指定表的列的一些数据:

DECLARE @QueryTable varchar(35);
SET @QueryTable = 'Test';

SELECT DISTINCT
    sys.columns.name AS 'Column',
    sys.types.name AS 'Data type',
    CASE WHEN sys.types.name IN ('varchar', 'char') THEN CAST(sys.columns.max_length AS varchar(5))
    WHEN sys.types.name IN ('decimal', 'numeric') THEN CAST(CAST (sys.columns.precision AS nvarchar(10))  + ', ' + CAST(sys.columns.scale AS nvarchar(10)) AS nvarchar(10))
    WHEN sys.types.name IN ('nvarchar', 'nchar') THEN CAST(sys.columns.max_length / 2 AS varchar(5))
    ELSE '-' END AS 'Max size',
    CASE WHEN sys.columns.is_nullable = 1 THEN 'YES'
    WHEN sys.columns.is_nullable = 0 THEN 'NO' END AS 'Allow nulls', …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

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

将字符串数组中的值分配给自定义类型数组的每个元素的字符串属性

假设我有一个字符串数组countryNames[]- 包含世界各国的名字:

string[] countryNames = { "Afghanistan" , "Albania" , "Algeria", ... }
Run Code Online (Sandbox Code Playgroud)

我还有一个名为Country包含这些属性的类,其中包括:

public string CountryCode { get; set; }
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的目标是创建一个自定义类型的数组Country,并Country.Name为每个元素的属性赋值Country[]相应索引的字符串值countryNames[].我试着通过以下方式这样做,在我实现字符串数组的方法中:

Country[] countries = new Country[193];
for (int i = 0; i < 193; i++)
{
    countries[i].Name = countryNames[i];
}
return countries;
Run Code Online (Sandbox Code Playgroud)

countries[i].Name然而,引起NullReferenceException.我不知道问题在哪里,因为属性Country.Name是一个字符串.阵列和属性混合在一起时是否有任何复杂性?

多谢你们!

c# arrays nullreferenceexception

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

实体框架核心2自动生成列

我有这个型号:

public class Model
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long ModelId {get;set;}
    public int Variable {get;set;}
 }
Run Code Online (Sandbox Code Playgroud)

我希望两个变量在添加时自动递增.如果我放置[Key]DatabaseGeneratedOption.Identity同时使用Variable属性,EF Core会说您不能拥有2个标识列.

我也尝试过FluentAPI:

modelBuilder.Entity().Property(variable => variable).ValueGeneratedOnAdd();
Run Code Online (Sandbox Code Playgroud)

但我仍然得到同样的错误.

如何在添加时添加2个自动递增值?

c# sql-server entity-framework entity-framework-core

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