正在生成 table 创建 SQL 从模型中查询出来 class

Generating table creation SQL query out from a model class

有没有办法为 entity framework 中的特定模型 class 生成 table 作品 SQL?

例如,我有这个:

public class Event
{
    public int Id { get; set; }
    public DateTime Date { get; set; }
    public string Context { get; set; }
    public string EventMessage { get; set; }
    public string ModifiedBy { get; set; }
}

}

预期是 SQL:

CREATE TABLE [dbo].[Event] (
[Id]           INT            IDENTITY (1, 1) NOT NULL,
[Context]      NVARCHAR (MAX) NULL,
[Date]         DATETIME2 (7)  NOT NULL,
[EventMessage] NVARCHAR (MAX) NULL,
[ModifiedBy]   NVARCHAR (MAX) NULL,
CONSTRAINT [PK_Event] PRIMARY KEY CLUSTERED ([Id] ASC)

);

没有

原因是 C# 模型包含的信息少得多。

特定数据类型、索引等 - 信息少得多。

Entity Framework 通过在方法中添加元数据来做到这一点(您可以在其中定义例如具有最大长度的字符串)。

如果你想这样做 - 你要么非常简单,要么需要一种方法来管理 sql 代的这些额外数据。

你想达到什么目的?您使用 entity-framework-core 进行了标记,因此在 EF Core 1.0 rc1 中,您可以使用以下命令根据您的模型 类 生成 SQL 脚本:

dnx ef migrations script