c# - C# 抽象/反射和 DbSet
问题描述
我正在设置一个 Net Core 页面,它使用几个 DbSet 作为一组 SQL 表的挂钩(每个表都有一个唯一的类名)。每个类都继承自我写的一个通用类——实例化类时,只设置通用类内部的变量——派生类主要是为了结构,后面会用到。请看下面的示例代码:
public class GeneralSet
{
[Key]
public Guid Id {get; set;}
public string set { get; set; }
public string userID { get; set; }
}
public class SpecificSetOne : GeneralSet
{
public SpecificSetOne(string _set, string _userID) : base(_set, _userID)
{
}
public string otherVariableUsedLater {get; set;}
}
public class SpecificSetTwo : GeneralSet
{
public SpecificSetTwo(string _set, string _userID) : base(_set, _userID)
{
}
public string otherVariableUsedLaterWithDifferentName {get; set;}
}
我的 DbContext 设置如下:
public class SetDbContext : DbContext
{
public SetDbContext(DbContextOptions<SetDbContext> options) :
base(options)
{
}
public DbSet<SpecificSetOne> SetOneData { get; set; }
public DbSet<SpecificSetTwo> SetTwoData { get; set; }
}
我的控制器看到通过 url 发送的字符串变量“set”。
我目前正在编写一个存储库来控制表的 CRUD 功能。我试图将它全部包含在一个存储库中,并根据通过该 url 传入的集合字符串为特定集合调用适当的 CRUD 功能。这在c#中可能吗?我一直在审查反思,但不确定我想要的是否可行或可取。
非常感谢,希望这有点清楚。
解决方案
推荐阅读
- javascript - 正则表达式优化和最佳实践
- javascript - 如果替换有 $',replace 方法会产生意外结果
- javascript - 使用 html5 的不可见滚动条
- ios - 如何添加观察者以查找导航栏显示和隐藏
- oracle - 根据触发器中的参数显示/隐藏项目
- dart - Flutter / Dart 使用具有后代和 Navigator 的 Scoped Model
- css - 如何在angular6中应用样式
- node.js - 在 React 中如何创建输入字段并连续更改当前项目?
- python - 成本函数变成 NaN
- crystal-reports - 水晶报表-如何对详细信息部分中的抑制字段求和?