VS 2019 嘗試從 SQL Server 2012 (v11.07) 構建 EF Core 腳手架表,請注意它無法[Required]為某些列型別生成注釋:datetime, datetime2, int例如
create table dbo.test2
(
d datetime not null,
d2 datetime2 not null,
i int not null,
txt varchar(100) not null
)
Scaffold-DbContext "..."
-Provider Microsoft.EntityFrameworkCore.SqlServer
-ContextDir Data -OutputDir "Data/Models"
-DataAnnotations -UseDatabaseNames -Tables "test2"
結果:
{
[Keyless]
[Table("test2", Schema = "dbo")]
public partial class test2
{
[Column(TypeName = "datetime")]
public DateTime d { get; set; }
public DateTime d2 { get; set; }
public int i { get; set; }
[Required]
[StringLength(100)]
public string txt { get; set; }
}
}
一些專案屬性:
<TargetFramework>netcoreapp3.1</TargetFramework>
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="5.0.10" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.10" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.10">
uj5u.com熱心網友回復:
由于您的int和DateTime屬性未標記為可為空(帶有?符號 - 例如) - 它們被默認int?視為。Required它僅適用于值型別(結構體 asDateTime或原語 as int)。你可以在這里閱讀更多
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/493841.html
