我可以使用以下代码获取对象集:
string tableName = "States";
var test = db.GetType().GetProperty(tableName).GetValue(db, null);
//this returns {System.Data.Objects.ObjectSet<FmlaModel.State>}
但是,我想先找到EntityObject FmlaModel.State
,这样我就可以明确地命名我的变量类型(比如ObjectSet<EntityObject>
代替var
),这样我就可以用它来告诉我的表单(TableEditor,见下文)我们正在使用什么类型的 EntityObject .
有没有办法使用反射来做到这一点?我已经搜索了很多,但还没有找到任何有效的东西......
编辑:
我的目标是能够拥有一个包含我们将能够编辑的实体对象名称的数据库表。这些名称将被加载到一个组合框中,当一个被选中时,我将创建一个我的“表格编辑器”表单的实例,其中包含类似
TableEditor<myEntityObject> tableEditor
= new TableEditor<myEntityObject>(myEntitySet<myEntityObject>);
我的“表格编辑器”类如下所示:
public partial class TableEditor<TEntity> : Form
where TEntity : EntityObject
{
public TableEditor(ObjectSet<TEntity> something)
{
...