C#抽象/反射和DbSet <T>

时间:2019-12-31 02:31:10

标签: c# reflection .net-core

我正在设置一个Net Core页面,该页面使用几个DbSets作为一组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#中这可能吗?我一直在审查反思,但不确定我想要的是可行的还是可取的。

非常感谢您,希望这一点很清楚。

0 个答案:

没有答案