entity-framework – 实体框架6:如何覆盖SQL生成器?
发布时间:2021-03-15 14:25:59 所属栏目:MsSql教程 来源:网络整理
导读:副标题#e# 我想在生成数据库模式(DDL)时修改由EF:CF生成的SQL,如 suggested by the Entity Framework team. 如何才能做到这一点? 我无法通过Google找到合适的内容. 解决方法 您可以通过调用DbMigrationsConfiguration类的构造函数中的 DbMigrationsConfig
如果运行Update-Database -Verbose,您将看到CustomSqlServerMigrationSqlGenerator生成的异常: minLength 5 specified for dbo.MyEntity.Name,'',does not satisfy this requirement. 要解决此问题,请在Up()方法中指定一个长度超过最小长度的defaultValue(例如“unknown”): public override void Up() { AddColumn("dbo.MyEntity",defaultValue: "unknown",})); } 现在,如果重新运行Update-Database -Verbose,您将看到添加列的ALTER TABLE语句和添加约束的ALTER TABLE语句: ALTER TABLE [dbo].[MyEntity] ADD [Name] [nvarchar](max) NOT NULL DEFAULT 'unknown' ALTER TABLE [dbo].[MyEntity] ADD CONSTRAINT [ML_dbo.MyEntity_Name] CHECK (LEN(LTRIM(RTRIM([Name]))) > 5) 另请参阅:EF6: Writing Your Own Code First Migration Operations,其中显示了如何实现自定义迁移操作. (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |