Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从模型类生成表创建SQL查询_C#_Sql_.net_Entity Framework_Entity Framework Core - Fatal编程技术网

C# 从模型类生成表创建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 {

是否有一种方法可以为实体框架中的特定模型类生成表创建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#模型包含的信息要少得多

具体的数据类型、索引等——信息少得多

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

如果您想这样做,您要么非常简单,要么需要一种方法来管理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特性。