从VisualStudio数据库项目生成实体框架模型我正在使用EF5和Database-First模型。维护应用程序的SqlServer数据库架构以及VisualStudio中的数据库项目。要更新EF模型,我将在空数据库中部署更改...是否可以从VisualStudio(2012)数据库项目生成和更新EF模型?更新:从dacpac文件生成它也是一个不错的选择。是否可以?更新:在MSBuild2014会议上,ADO.NET团队建议未来版本的EF(如EF7)仅适用于CodeFirst方法。后来,他们澄清说新方法的名称不应该是CodeFirst,尽管有代码库建模。也许不完全一样,但据我所知,它看起来和我很相似。所以我要尝试@adam0101解决方案。任何其他以CodeFisrt结尾的建议解决方案都追求从SSDT项目迁移到EF的CodeFisrt项目,我想要的是两者的顺利共存(也许我是一个梦想家......)。我创建了项目SqlSharpener,它应该能够做你想做的事。例如,给定在SSDT项目中定义的这些表:CREATETABLE[dbo].[Tasks]([Id]INTNOTNULLPRIMARYKEYIDENTITY,[Name]VARCHAR(50)NOTNULL,[Description]VARCHAR(1000)NOTNULL,[TaskStatusId]INTNOTNULL,[Created]DATETIMENOTNULL,[CreatedBy]VARCHAR(50)NOTNULL,[Updated]DATETIMENOTNULL,[UpdatedBy]VARCHAR(50)NOTNULL,CONSTRAINT[FK_Tasks_ToTaskStatus]FOREIGNKEY([TaskStatusId])REFERENCES[TaskStatus]([Id]))CREATETABLE[dbo].[TaskStatus]([Id]INTNOTNULLPRIMARYKEY,[Name]VARCHAR(50)NOTNULL)您可以创建T4模板,它将生成这样的实体:usingSystem;使用System.Collections.Generic;使用System.ComponentModel.DataAnnotations;使用System.ComponentModel.DataAnnotations.Schema;使用System.Data.Entity;namespaceSimpleExample.EntityFrameworkCodeFirst{publicpartialclassTaskContext:}}[Table("Tasks")]publicpartialclassTasks{[Key][R必需][DatabaseGenerated(DatabaseGeneratedOption.Identity)]publicInt32?id{得到;放;}[必需][MaxLength(50)]publicStringName{get;放;}[必需][MaxLength(1000)]publicStringDescription{get;放;}[必需]publicInt32?TaskStatusId{得到;放;}[ForeignKey("Id")]publicvirtualTaskStatusTaskStatus{get;放;}[必需]公共日期时间?创建{得到;放;}[必需][MaxLength(50)]publicStringCreatedBy{get;放;}[必需]公共日期时间?更新{得到;放;}[必需][MaxLength(50)]publicStringUpdatedBy{get;放;}}[Table("TaskStatus")]publicpartialclassTaskStatus{[Key][Required]publicInt32?id{得到;放;}公共虚拟ICollection任务{get;放;}[必需][MaxLength(50)]publicStringName{get;放;简单示例解决方案中有一个此T4模板的工作示例以上就是C#学习教程:从VisualStudio数据库项目生成实体框架模型的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
