有没有办法为实体框架中的特定模型类生成表创建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)
);
答案 0 :(得分:4)
没有
原因是C#模型包含WAY LESS INFORMATION。
特定数据类型,索引等 - 信息少得多。
实体框架通过在方法中添加元数据来实现这一点(您可以在其中定义具有最大长度的字符串)。
如果你想这样做 - 你要么非常简单,要么需要一种方法来管理sql生成的附加数据。
答案 1 :(得分:0)
你想要达到什么目的?您使用entity-framework-core标记,因此在EF Core 1.0 rc1中,您可以使用以下命令基于模型类生成SQL脚本:
dnx ef migrations script