从LINQ DataContext中的table-name获取表数据

Kru*_*nal 14 c# linq linq-to-sql

我需要从Linq DataContext的表名中获取表数据.

而不是这个

var results = db.Authors;
Run Code Online (Sandbox Code Playgroud)

我需要做这样的事情.

string tableName = "Authors";

var results = db[tableName];
Run Code Online (Sandbox Code Playgroud)

它可以是DataContext中可用的任何表名.

jas*_*son 15

鉴于DataContext contextstring tableName,你可以说:

var table = (ITable)context.GetType()
                           .GetProperty(tableName)
                           .GetValue(context, null);
Run Code Online (Sandbox Code Playgroud)