C# 从模型类生成表创建SQL查询
是否有一种方法可以为实体框架中的特定模型类生成表创建SQL 例如,我有这样一个例子:C# 从模型类生成表创建SQL查询,c#,sql,.net,entity-framework,entity-framework-core,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 {
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#模型包含的信息要少得多
具体的数据类型、索引等——信息少得多
实体框架通过在方法中添加元数据来实现这一点(例如,您可以在方法中定义一个最大长度的字符串)
如果您想这样做,您要么非常简单,要么需要一种方法来管理sql生成的额外数据。否
原因是C#模型包含的信息要少得多
具体的数据类型、索引等——信息少得多
实体框架通过在方法中添加元数据来实现这一点(例如,您可以在方法中定义一个最大长度的字符串)
如果您想这样做,您要么非常简单,要么需要一种方法来管理这些额外的数据以生成sql。您想要实现什么?您使用entity framework core进行了标记,因此在EF core 1.0 rc1中,您可以使用以下命令基于模型类生成SQL脚本:
dnx ef migrations script
你想达到什么目标?您使用entity framework core进行了标记,因此在EF core 1.0 rc1中,您可以使用以下命令基于模型类生成SQL脚本:
dnx ef migrations script
我的建议是:换个方向走。从数据模型生成类。实体框架数据库首先工作得更好。你在EF端什么都没有丢失,可以使用所有SQL特性。我的建议是:换一种方式。从数据模型生成类。实体框架数据库首先工作得更好。您在EF端没有丢失任何东西,并且可以使用所有SQL特性。