c# - 使用在 C# .Net Core 中运行时创建的类型
问题描述
技术要求:
MS SQL DB、.NET Core 3.1、EF Core、C#
那应该做什么:
我需要在 C# 中创建一些元数据驱动的解决方案,该解决方案必须能够连接到数据库,然后从JSON 文件中定义的任何表中检索数据,程序将其作为输入。在 JSON 文件架构中,列出了表和列。例如:
{
schema: 'dbo',
table: 'customers',
columns: [
{
name: 'FirstName',
type: 'string'
},
{
name: 'Age',
type: 'integer'
}
]
}
解决方案应该能够创建反映当前 JSON 文件需求的类(Type) 。之后,它应该使用这种新类型来设置一个DbSet<new_type> CustomTypeList { get; set; }
inDBContext
并随后使用IEntityTypeConfiguration
.
到目前为止我做了什么:
我使用了这篇文章中的代码,因此实现了某种类型的RuntimeCustomTypeCreation
类,它type
在我的程序开始后通过 usingSystem.Reflection
和System.Reflection.Emit
命名空间返回一个新创建的类。新类型准确地反映了 JSON 为我们排序的结构。现在可以使用System.Activator.CreateInstance(...)
函数轻松创建该类型的新实例。
我无法解决的问题:
如何在我的应用程序中使用我新创建的运行时类型,例如在编译和执行之前编写为代码的任何类?我需要能够做上面已经写过的事情,那就是:
DbSet<new_type> CustomTypeList { get; set; }
我必须在某处“注册”我新创建的类型吗?这甚至可能吗?谢谢!
解决方案
推荐阅读
- python - 如何使用“group_by”查询塑造响应
- sql - 如何获取以映射表中的键命名的列的表
- jquery - th:field 使用 ajax 重新加载片段后生成错误的名称属性值
- lua - Lua Pattern,组合句柄的问题
- php - Zend 框架:使用自己的视图模板返回 410(已消失)
- python - 初学者输入验证问题
- c# - UWP ListView 内容边距
- python - 使用 pysftp 从 SFTP 服务器将文件下载到本地计算机时出现 PermissionError
- java - ORA-00979 不是按表达式分组
- csv - Kibana 使用 CSV 文件进行搜索