从模型类生成表创建SQL查询

时间:2016-04-26 11:51:11

标签: c# sql .net entity-framework entity-framework-core

有没有办法为实体框架中的特定模型类生成表创建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)

);

2 个答案:

答案 0 :(得分:4)

没有

原因是C#模型包含WAY LESS INFORMATION。

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

实体框架通过在方法中添加元数据来实现这一点(您可以在其中定义具有最大长度的字符串)。

如果你想这样做 - 你要么非常简单,要么需要一种方法来管理sql生成的附加数据。

答案 1 :(得分:0)

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

dnx ef migrations script