我编写了以下脚本来获取指定表的列的一些数据:
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) 假设我有一个字符串数组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是一个字符串.阵列和属性混合在一起时是否有任何复杂性?
多谢你们!
我有这个型号:
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个自动递增值?