【问题标题】:Create EntitySet from string name?从字符串名称创建实体集?
【发布时间】:2010-02-07 19:08:44
【问题描述】:

如何在只知道字符串形式示例中的类型名称的情况下创建类型...

我的 aspx 包含这个和一些可绑定的控件

<asp:EntityDataSource ID="EntityDataSource1" runat="server" 
        ConnectionString="name=MyEntities" DefaultContainerName="MyEntities" 
        EntitySetName="MyData">
    </asp:EntityDataSource>

现在我需要能够从代码中创建 EntitySetName="MyData" 的实例。请记住,直到运行时我才会知道这些名称。我可以做 EntityDataSource1.EntitySetName ,这给了我字符串形式的名字。但现在我需要创建它并实例化它并访问成员,以便我可以操作数据。我一直在尝试 Activator.CreateInstance 并使用它的各种重载版本。底线是我没有看到如何做到这一点。当我只有类型的名称时,我一直在尝试将某些东西转换为类型。任何指向任何信息以帮助我理解这一点的指针将不胜感激。

【问题讨论】:

    标签: asp.net entity-framework


    【解决方案1】:

    怎么样:

    var entity = Activator.CreateInstance(Type.GetType("namespaceofyourtype.MyData, assemblynameofyourtype"));
    

    【讨论】:

    • 是的,我试过了,并确定它创建了它的实例,但仍然让我不明白如何访问成员和更改数据。
    • var inst = System.Activator.CreateInstance(Type.GetType("MyData")); inst.GetType() oMyData = (inst.GetType())inst; oMyData.FirstName = "Bimbo";如何做到这一点?
    • var entity= Activator.CreateInstance(Type.GetType("Lottery", true, true)); PropertyInfo 属性 = entity.GetType().GetProperty("FirstName"); property.SetValue(entity, "Bimbo", null);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    相关资源
    最近更新 更多