实体框架 - 获取表列表

2024-03-19

就是这样。这很简单。我有一个 edmx,希望能够动态查询它的表,并(希望如此)针对该表动态构建。那可能吗?

=========

UPDATE:

我在上下文中包含了所有数据库表,但没有视图或 SP。我们有很多输入信息的表(带有 ID)。例如,颜色或文件类型或协议类型。我希望能够对可能保存类型信息(File、FileType)的表进行类型(文件)查询,并使用 id 返回它。

因此,我可能会查找... Business Unit(或颜色或文件),代码将开始并搜索 BusinessUnit(或颜色或文件)和 BusinessUnitType(或 ColorType 或 FileType)的上下文。如果它找到其中之一,它将查询它并返回所有行,以便我可以查看它是否包含类型信息(稍后我将对其进行细化,以仅返回 ID 和描述、缩写或名称字段以及限制行等)并能够找到特定内容的关联 ID。


此示例代码来自帖子我的 EF 模型中有哪些表?我的数据库呢? http://romiller.com/2012/04/20/what-tables-are-in-my-ef-model-and-my-database/

using (var dbContext = new YourDbContext())
{
    var metadata = ((IObjectContextAdapter)dbContext).ObjectContext.MetadataWorkspace;

    var tables = metadata.GetItemCollection(DataSpace.SSpace)
        .GetItems<EntityContainer>()
        .Single()
        .BaseEntitySets
        .OfType<EntitySet>()
        .Where(s => !s.MetadataProperties.Contains("Type")
        || s.MetadataProperties["Type"].ToString() == "Tables");

    foreach (var table in tables)
    {
        var tableName = table.MetadataProperties.Contains("Table")
            && table.MetadataProperties["Table"].Value != null
            ? table.MetadataProperties["Table"].Value.ToString()
            : table.Name;

        var tableSchema = table.MetadataProperties["Schema"].Value.ToString();

        Console.WriteLine(tableSchema + "." + tableName);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实体框架 - 获取表列表 的相关文章

随机推荐

  • *.suo 文件中实际包含什么?

    我读过有关解决方案用户选项文件的 MSDN 文章 https msdn microsoft com en us library bb165909 aspx 解决方案用户选项文件用于存储用户首选项设置 并在 Visual Studio 保存解
  • 对具有相似名称的多组列使用相同的 mutate

    想象一下以下数据 data lt tribble a1 a2 b1 b2 c1 c2 32 32 50 12 12 50 48 20 55 43 10 42 对于 i 1 2 我想计算deltai ai ci ai bi ci ai 我明确
  • TCP/IP 套接字是原子的吗?

    据我了解 如果写入的数据量很小 则对 TCP IP 套接字的写入将是原子的 我所说的原子性是指接收者将接收所有数据或不接收任何数据 但是 如果写入的数据量很大 则它不是原子的 我对么 如果是的话 什么算大呢 谢谢 鲍勃 不 TCP 是一种字
  • Executor 和 ExecutorService 有什么区别? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想知道 Executor 和 Ex
  • 在 BlackBerry 中单击事件期间更改 ButtonField 背景

    在 BlackBerry 中 如何更改ButtonField点击事件期间的背景颜色 例如 对于长按 背景颜色需要改变 对我来说 它采用默认颜色蓝色 如何改变呢 这是我们的自定义按钮字段 但它显示按钮单击事件的默认蓝色 public clas
  • 高效地从TextureView获取Bitmap

    我试图从一个TextureView 不幸的是尝试 textureView getBitmap 导致性能缓慢是否有更快的方法来获取位图 使用 NDK 是否更好 寻找实际例子 TextureView 接收 SurfaceTexture 上的帧
  • 当前对控制器类型 {1} 上的操作 {0} 的请求不明确

    我有两个动作 我想要我的路线 users and users id 与众不同 然而它给我带来了错误 是否可以在不手动创建的情况下实现这种事情every路线 我将有其他控制器将遵循类似的模式 并为所有这些控制器编写自定义路线 一般来说似乎是多
  • 请求网站时,Javascript 用户代理 (ajax) 与发送的用户代理不同

    我注意到我的手机 OnePlus 3 Android 8 0 0 上的 Chrome 64 0 3282 137 在请求网页时发送的用户代理与通过 ajax 发送的请求略有不同 该用户代理在请求网页时发送 Mozilla 5 0 Linux
  • 将字符串转换为 React JSX

    Goal 我想将包括 React 组件的字符串转换为功能齐全的 JSX 更简单的例子是这样的 Stack Overflow 上有很多解决方案 render let txt span b Hello World b span return d
  • 如何检查输入值是否在数组中(Powershell)

    InputArray a e i o u 1 2 3 4 5 UserInput Enter any value 我们如何检查 UserInput is in InputArray或不提示输入正确 Use the contains操作员 I
  • 在 r 中创建一个基于其他列自动递增的列

    我的数据框有客户 ID 产品和日期 我需要创建一个列 每次 customerID 或日期更改时都会生成交易 ID 我的数据框目前看起来像 客户 ID 产品 日期 23 abv 12 12 14 23 政府飞行服务处 12 12 14 18
  • 如何使用 Firebase Cloud Messaging 将推送通知发送到多个设备

    我正在寻找一种将推送消息从我的 Express JS 服务器传递到我的离子应用程序的方法 我发现GCM 使用 GCM 我可以传递传递令牌列表的消息 如下所示 sender send message registrationTokens de
  • AddressSanitizer 中的“影子字节”是什么?我应该如何解释它们?

    我正在调试 C 程序并且严重困惑当发现问题时 大约是 AddressSanitizer 输出的下半部分 让我们以此为例 33184 ERROR AddressSanitizer heap buffer overflow on address
  • JavaScript 异步编程新手。有什么建议吗?

    异步回调很棒 但是当一个回调依赖于另一个回调的结果时 我会使用具有回调的 api 调用进行回调 等等 apiCall function apiCall function apiCall function 我可以命名回调函数 而不是将它们内联
  • 如何在 IntelliJ 14 中从临时文件运行代码?

    我创建了一个简单的 Java 临时文件 其中包含一个名为 测试泛型 包含一些代码和main方法 代码似乎没问题 但是当我尝试运行它时 通过右键单击 gt 运行 TestGenerics main 我收到此错误 未指定模块 包含 Lua 代码
  • C# 客户端连接到 kerberos kdc

    我正在为连接到 kerberos kdc 的客户端寻找一些示例 C 代码 None
  • 如何在Python中从掩模分割图像创建轮廓(具有可控的厚度)?

    这里我有一个分割模型的分割输出图像 我想为这些蒙版创建一个轮廓 然后将该轮廓放在原始图像上 以将图像上的预测区域指示为分割输出 我尝试使用 PIL 过滤器 FIND EDGES 但它为轮廓提供了非常薄的边缘 有什么方法可以将此蒙版图像转换为
  • 旋转变换后更改 uiview 大小

    我的代码需要专业 xcoder 的帮助 我有一个名为 headline 的可拖动 uitextview 它是 mainstage 中的子视图 我还添加了捏合手势来更改 uitextview 内的字体大小 一切工作正常 但我真正需要的最后一个
  • ASP.NET Web API - 请求特定的全局变量[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 当我收到 Web API 请求时 我想创建一个变量 在请求的生命周期中每个类都可以访问该变量 我希望它像静态属性一样被访问 方式如下A
  • 实体框架 - 获取表列表

    就是这样 这很简单 我有一个 edmx 希望能够动态查询它的表 并 希望如此 针对该表动态构建 那可能吗 UPDATE 我在上下文中包含了所有数据库表 但没有视图或 SP 我们有很多输入信息的表 带有 ID 例如 颜色或文件类型或协议类型