How to create View (SQL) from Entity Framework in ABP Framework
由于声誉,不允许发表评论。只是尝试获取有关将数据库连接到实体框架的更多信息,而无需切换到代码优先的开发风格。查看所选答案的回复(他告诉OP基本上他会在数据库中执行相同的操作,但是使用EF,然后添加额外的步骤,其中EF“...忽略......”之前的说明......
我想直接在SQL中创建表和设计数据库,并让csharp库只读/写表值(有点像dapper函数,它不是替换你的数据库,只是在它旁边工作)。
本教程不讨论如何将数据库与项目集成。它可以是brushes over the subject,ignores it completely,也可以讨论如何替换它。
我不想做任何EF migrations
(我不想/每次我决定运行,复制或转移项目时都需要/需要销毁/创建数据库)。任何和所有数据库回溯(备份/恢复)都应该通过SQL(在我的工作环境中)完成。
只是为了清楚我正在努力学习的内容:专门研究数据库管理(构建数据库模式,管理和监视数据,以及已建立数据的现有数据库)的人如何连接到项目以获取数据(再次,具体而言引用Dapper的Query
功能)。
我想整合和设计微服务,有些可能共享相同的数据库连接或依赖另一个。但我只是想在一个干净的强类型类实体中读取数据,如果必须的话,可能会在其他地方处理插入/更新。
我更喜欢使用Dapper而不是EF,但是ABP与EF的设计非常紧密地结合在一起,避免使用它比处理它更令人头疼。
您应该能够以与使用DB优先配置的任何其他项目相同的方式在ABP下映射EF。
我用于EF的一致方法:(DB-First)
EntityTypeConfiguration<TEntity>
,ToTable()
和任何HasMany / HasRequired / HasOptional定义扩展HasKey()
的配置类。modelBuilder.Configurations.AddFromAssembly(GetType().Assembly);
中加载所有实体配置。 (假设DbContext与模型/配置在同一个程序集中替换GetType().Assembly
指向实体程序集。Database.SetInitializer<MyDbContext>(null);
EF提供的不仅仅是将表映射到类。通过映射实体之间的关系,EF可以帮助生成优化查询,以便跨这些相关实体检索数据。这可以让您在不返回不必要的数据的情况下展平数据结构,替换对视图的需求,并且通常可以减少从数据库到应用程序服务器的数据量。