EF核心如何将TEntity作为参数传递?

时间:2018-10-24 08:22:41

标签: c# entity-framework ef-core-2.0 ef-core-2.1

我创建了映射数据库表的Senior_StudentTable类

public class StudentTable
{
    [Key]
    public int id { get; set; }
    public string name { get; set; }

}

[Table("Senior_StudentTable")]
public class Senior_StudentTable : StudentTable{ }

如果我需要获取ID的名称,请使用此

var name=get_MyName<Senior_StudentTable>(1);

像这样的方法

 public string get_MyName<T>(int id) where T : StudentTable
    {

    using (var context = new DatabaseContext())
    {

        var my = context.Set<T>().Find(id);



        return my.name;

    }
   }

现在,我创建一个新的数据库表类型为StudentTable,名为“ College_StudentTable”, 我不想修改我的代码,每次都像创建一个新类一样

 public class College_StudentTable : StudentTable{ }

我可以使用类似的代码

if(va=="College")
myclass=College_StudentTable;
var name=get_MyName<myclass>(1);

它会自动映射我的新表“ College_StudentTable”吗?

我该怎么做..谢谢。

0 个答案:

没有答案