【发布时间】:2019-12-30 10:29:53
【问题描述】:
如何使用反射 .dll 从 Entity Framework Core 2 数据库脚手架中找到主键?
我们需要在给定 EntityName 的情况下找到主键成员,并将主键成员作为字符串返回。 对Sql Server数据库进行反向脚手架。
modelBuilder.Entity<Product>(entity =>
{
entity.HasKey(e => e.ProductInfoId)
.HasName("PK_ProductInfoId");
尝试解决方案:
尝试编写下一行代码,给定字符串实体名称:“产品”。
var assembly = Assembly.LoadFrom(@"C:\OnlineShoppingStore\bin\Debug\netcoreapp2.2\OnlineShoppingStore.dll");
assembly.GetTypes().Where(d=>d.Name = "OnlineStoreDbContext")
etc GetProperties().Where(e=>e.Name == "Product"))
其他资源:
更喜欢使用反射来执行此操作,而不是实例化上下文,因为这是用于代码生成工具的,将为 10 个 db 项目执行。
【问题讨论】:
-
你没有/不能获得
DbContext派生类实例吗?您要求的信息由需要DbContext实例的 EF Core 元数据 API 提供。喜欢这里stackoverflow.com/questions/55867725/… -
上面提供了回复
标签: c# .net entity-framework .net-core entity-framework-core