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