DbContext运行时动态附加上一个dbset
一个 运行 动态 附加
2023-09-27 14:24:13 时间
参考
Creating DbSet Properties Dynamically
1
|
DbSet<MyEntity> set = context.Set<MyEntity>(); |
或
1
|
DbSet set = context.Set( typeof ( MyEntity ) ); |
或者利用反射,通过实现DbContext的OnModelCreating方法,参考
Dynamically Adding DbSet Properties in DbContext for Entity Framework Code First
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
public class MyAppContext : DbContext { protected override void OnModelCreating(DbModelBuilder modelBuilder) { CustomAssemblySection configSection = (CustomAssemblySection)System.Configuration.ConfigurationManager.GetSection( "CustomAssemblySection" ); foreach (CustomAssembly customAssembly in configSection.Assemblies) { Assembly assembly = Assembly.Load(customAssembly.Name); foreach (Type type in assembly.ExportedTypes) { if (type.IsClass) { MethodInfo method = modelBuilder.GetType().GetMethod( "Entity" ); method = method.MakeGenericMethod( new Type[] { type }); method.Invoke(modelBuilder, null ); } } } base .OnModelCreating(modelBuilder); } } |
相关文章
- Qt之运行一个实例进程
- 快过年了,看我使用python制作一个灯笼的小程序
- delphi:只允许一个实例运行
- NER范式(三)-阅读理解:BERT+MRC【基于阅读理解的方式处理NER任务】【[CLS]问题[SEP]样本】【针对每一种实体类型构造一个样本,样本的实体头index、实体尾index处标为1】
- 判断一个请求是否为Ajax请求
- 饼状图--只有一个指标
- 如何设计一个底层埋点?
- eclipse 创建一个java项目 运行
- activity初探(基于kft-activiti-demo的一个小例子)
- javaScript:让文本框内的最后一个文字的后面获得焦点
- 给一个正在运行的Docker容器动态添加Volume
- 如何在一个系统下同时运行两个甚至多个MYSQL数据库
- Flutter 查看当前页面甚至到每一个细节的weight
- 通过一个模拟程序让你明白ASP.NET MVC是如何运行的
- WinForm限制客户程序只能运行一个实例
- 2018-8-10-win10-uwp-在-Canvas-放一个超过大小的元素会不会被裁剪
- 重新理解创业:一个创业者的中途思考
- qt之 使程序只运行一个实例,若再次点击exe则将已运行的实例置在最顶层显示