【问题标题】:Need Columns name From Entity framework Using String table name c#需要来自实体框架的列名称使用字符串表名c#
【发布时间】:2018-09-30 19:28:48
【问题描述】:
public List<string> GetColumnsForTable(string table)
    {
        var context = _unitOfWork.GetContext();

        var names = typeof(table).GetProperties()
                .Select(property => property.Name)
                .ToArray();

        return names ;
    }

需要实体对象的类型,但我从下拉列表中选择了字符串

typeof(table).GetProperties()

有没有其他方法可以在c#中从实体框架中获取列

【问题讨论】:

  • 进行一个开关,根据字符串返回正确类型的表对象。将对象传递给 GetColumsForTable。
  • 我有一百张桌子
  • 不要使用switch,使用Dictionary。 EF 并不是真正设计用于处理通用表,而是用于处理具有已知列、类型和关系的特定表。另外,你在做什么有什么问题? (或者你的问题只是语法不好?)

标签: c# sql asp.net entity-framework linq


【解决方案1】:

一个例子。您可以使用反射来获取正确类型的对象

假设对象位于namespace People.Family

和班级Dad

Type myType = Type.GetType("People.Family.Dad");
var names = myType.GetProperties().Select(pro => pro.Name).ToArray();

您仍然会面临必须指定所有对象名称空间的问题。希望它能让您了解可能的情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多