获取所有模型类型

2023-12-13

如何获取属于模型一部分的实体类型列表,以便我可以测试模型是否确实适用于该实体类型?

var dcx = new MyDbContext();
var lst = new List<Type>();
//populate the list here somehow
//...
foreach (var t in lst) {
    var set = dcx.Set(t); //I'm trying to avoid an exception here
    try {
        var test = set.FirstOrDefault();
    } catch (Exception ex) {
        Console.WriteLine("{0} has an error", t);
    }
}

注:完全可以查询dcx.Set(t)即使没有对应的DbSet属性于MyDbContext;因此,通过对属性的反射进行迭代是不够的MyDbContext其返回类型的通用定义是DbSet<T>甚至IDbSet<T>.


也许是这样的?

var types = typeof(MyDbContext)
    .GetProperties()
    .Where(prop => prop.PropertyType.IsGenericType)
    .Where(prop => prop.PropertyType.GetGenericTypeDefinition() == typeof(DbSet<>))
    .Select(prop => prop.PropertyType.GenericTypeArguments.First())
    .Distinct();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取所有模型类型 的相关文章

  • C#9 顶级语句文件上的属性

    我正在尝试向顶级语句文件添加属性 但没有找到任何相关信息 是否可以 对于某些上下文 我想仅在该文件中禁用规则 SuppressMessage StyleCop CSharp LayoutRules SA1516 ElementsMustBe
  • 实体框架中的重复键异常?

    我试图捕获当我将具有给定用户名的现有用户插入数据库时 引发的异常 正如标题所说 我正在使用 EF 当我尝试将用户插入数据库时 引发的唯一异常是 UpdateException 如何提取此异常以识别其是否是重复异常或其他异常 catch Up
  • ProtoBuf-net AsReference 需要 Activator.CreateInstance 中的公共构造函数吗?

    在我的两门课程中 看起来像这样 最少 using System using System Collections Generic using System Collections using System ComponentModel us
  • 何时对向量进行归一化?

    我正在学习 XNA 并且在几乎所有的教育套件中都可以找到http creators xna com en US http creators xna com en US 我总是看到向量上对 Normalize 的调用 我知道归一化基本上将向量
  • WPF - 按多列排序时使用自定义比较器

    我有一个 ListView GridView 我想按 2 列排序 因此如果第 1 列中有 2 个以上的项目具有相同的值 它将按第 2 列排序 非常简单 但是在对 A Z 进行排序时 空字符串会出现在顶部 我想把它们移到底部 我制作了一个比较
  • C# ConfigurationManager 从 app.config 检索错误的连接字符串

    我有一个简单的 WinForms 应用程序 它最终将成为一个游戏 现在 我正在研究它的数据访问层 但遇到了障碍 我创建了一个单独的项目 名为DataAccess在其中 我创建了一个本地 mdfSQL Server 数据库文件 我还创建了一个
  • 未定义异常变量时通过引用捕获

    捕获异常时 标准指导是按值抛出 按引用捕获 据我了解 这有两个原因 如果由于内存不足异常而引发异常 我们将不会调用可能终止程序的复制构造函数 如果异常是继承层次结构的一部分 我们可能会对异常进行对象切片 如果我们有一个场景 我们没有在 ca
  • 使用 Microsoft Graph 创建用户

    如何使用 Microsoft graph 创建用户 因为我在保存过程中遇到了权限失败的问题 我确实有几个问题 在图中调用创建用户 API 将在哪里创建用户 是在 Azure AD 还是其他地方 我尝试通过传递 json 和必需的标头来调用创
  • C++ 析构函数:何时释放内存?

    如果我删除一个导致其析构函数被调用的对象 那么内存是在析构函数完成函数中的任何操作之前还是之后被释放 仅当最小派生类子对象被销毁后才会释放内存 所以如果你有 class Base class Derived public Base publ
  • 基于 C++ 范围的 for 循环

    尝试使用基于范围的 for 循环执行某些操作 可以使用常规的 for 循环来完成 如下所示 vector
  • 如何使用 C# 代码使用超链接的 onClick 事件?

    我正在尝试为页面中的超链接添加条件 而不是仅仅使用特定的链接 例如 a href help Tutorial html Tutorial a 我想为不同的用户显示不同的页面 例如 如果用户以管理员身份登录 他们将看到与普通用户不同的链接 我
  • 如果数组为空,LINQ 返回 null

    public class Stuff public int x other stuff 我有一个IEnumerable
  • Unity 2.0 和处理 IDisposable 类型(特别是使用 PerThreadLifetimeManager)

    我知道类似的问题被问过好几次 例如 here https stackoverflow com questions 987761 how do you reconcile idisposable and ioc here https stac
  • 如何使用eclipse构建C++应用程序

    我已经从以下位置下载了 Eclipse Juno for C here http www eclipse org downloads download php file technology epp downloads release ju
  • 使 C# 编译器相信执行将在成员返回后停止

    我认为目前这是不可能的 或者这是否是一个好主意 但这是我刚才正在考虑的事情 我使用 MSTest 对我的 C 项目进行单元测试 在我的一项测试中 我执行以下操作 MyClass instance try instance getValue
  • 向每个收件人发送一封包含不同内容的电子邮件(使用抄送字段)

    在你因为这个问题 毫无意义 和 不可能 而驳回之前 请听我说完 问题 我们在使用我们的系统发送的每封电子邮件中实施跟踪像素 即具有唯一 URL 的可下载 GIF 文件 这有助于我们跟踪电子邮件的打开情况 问题是 当我们抄送一些收件人时 跟踪
  • 获取大于某个数字的元素个数

    我正在尝试解决以下问题 数字被插入到容器中 每次插入数字时 我需要知道容器中有多少元素大于或等于当前插入的数字 我相信这两个操作都可以以对数复杂度完成 我的问题 C 库中有标准容器可以解决这个问题吗 我知道std multiset可以在对数
  • 编译器什么时候内联函数?

    在 C 中 函数仅在显式声明时才内联inline 或在头文件中定义 或者编译器是否允许内联函数 因为他们认为合适 The inline关键字实际上只是告诉链接器 或告诉编译器告诉链接器 同一函数的多个相同定义不是错误 如果您想在标头中定义函
  • 网页执行回发时如何停止在注册表单上?

    我正在做我的最后一年的项目 其中 我在一页上有登录和注册表单 WebForm 当用户点击锚点时Sign Up下拉菜单ddlType 隐藏 和文本框 txtCustName txtEmail and txtConfirmPassword 显示
  • 请解释为什么Java和C对此代码给出不同的答案

    public class Test public static void main String args int i 10 i i System out println value of i is i 输出是 10 当我在中执行类似的代码

随机推荐

  • 如何更改相对布局边框颜色?

    如何更改相对布局边框颜色 这是我下面的代码 我只想显示边框颜色黑色 但显示所有相对布局黑色 我只想显示相对布局白色 只有边框是黑色我该怎么办
  • HTML 表单:完成文本字段后将焦点放在复选框上

    查看此 HTML 表单并注意它在文本字段之间有一个复选框 我尝试在移动设备上使用 Chrome 来填充它 并注意到一个意想不到的问题 如果用户在文本字段中键入内容 然后通过按 Android 键盘中的蓝色 完成 按钮移动到下一个字段 焦点将
  • C++读取csv文件并将值分配给数组

    我正在尝试读取 csv 文件并将值分配给二维数组 但我得到了奇怪的结果和一些垃圾值 虽然第一行是正确的 但第二行和第三行就变得奇怪了 下面是代码 include pch h include
  • 将 MySQL 数据库导入 SQL Server

    我有一个 sql来自 MySQL 转储的文件 其中包含表 定义和要插入这些表中的数据 如何将转储文件中表示的数据库转换为 SQL Server 数据库 Use SQL Server 迁移助手 SSMA 除了 MySQL 之外 它还支持 Or
  • 在 Java 中为变量分配新值

    我是 Java 新手 有一个关于变量的问题 这是一个例子 int hello 6 int goodbye 7 int combined hello goodbye System out println combined hello 10 S
  • 您能解释一下 bash shell 中的数学语法吗?

    for i in 1 99 do if i 2 eq 1 then echo i fi done 我正在学习 bash 并且我正在尝试更好地理解第 3 行 为什么 i 2 必须用括号双层包裹 为什么我不能把 旁边的符号i like i 2
  • 包含存储在向量中的 auto_ptr 的类

    在回答中将具有 std auto ptr 作为其成员变量的类的对象存储在 std vector 中是否安全 我说过包含 auto ptr 的类可以存储在向量中假设该类有一个用户定义的复制构造函数 有一些评论表明情况并非如此 因此这个问题是试
  • 使用内联表单集创建模型和相关模型

    我已将其发布在Django 用户 谷歌网上论坛 also 使用中的示例内联表单集文档 我能够edit属于特定模型的对象 使用 模型 我一直在尝试遵循相同的模式creating使用内联表单集的新对象 但无法 我的头脑足够清醒 可以为此目的提出
  • Android gradle:buildtoolsVersion 与compileSdkVersion

    有什么区别buildtoolsVersion vs compileSdkVersion在 Android 项目的 build gradle 中 编辑 具体来说 我想澄清一下构建工具是什么 compileSdkVersion是您编译所针对的
  • 获取数字范围内的数字列表

    我有一个数据框 其中一列包含一个 或多个 数字范围 我想将其转换为基于给定范围的数字列表 输入示例 35 40 or 35 43 45 47 这应该产生 1 35 36 37 38 39 40 and 1 35 36 37 38 39 40
  • 无法实现 androidx.appcompat.appcompat:1.0.0

    我是 Android 开发的绝对初学者 并尝试构建测试自动化来测试移动应用程序 在设置 IntelliJ 数周后 我仍然面临问题 其中包括以下问题 由于我使用的是 SDK 版本 29 我被告知应该将所有 support 关键字转换为 and
  • C# 的单例模式 [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我需要存储一堆需要全局访问的变量 我想知道单例模式是否适用 从我看到的例子来看 单例模式只是一个不能被继承的静态类 但我见过的例子对于我的需求来说过于复杂 最简单的单例类是什么 我不能创建
  • android - 让 onTouch 优先于 onClick

    我有一个允许用户在 3 个不同视图之间滑动的活动 每个视图都显示图像列表 这些图像具有调用新活动并使图像全屏显示的 onClick 事件 这一切都正常 但是如果我尝试在 3 个不同的视图之间滑动并且我的手指在图像上滑动 它将触发 onCli
  • JavaFX 3D 对象之间的并集、交集和差异

    有没有办法在 JavaFX 3D 对象之间执行布尔运算 例如并集 交集和差集 例如在 Sphere 实例 Cylinder 实例和 Box 实例之间 从 Shape 类继承的 JavaFX 2D 对象已经具有 union 和 minus 方
  • 从外部模块访问资源文件

    到目前为止 在非模块化 java 之前 您只需将文件放入src main java resources确保它在类路径中 然后加载它 file getClass getClassLoader getResourceAsStream myfil
  • 如何存储和搜索 IP 地址

    我有 4 个 IP 地址源 我想将它们存储在 SQL Server 中 并允许按来源国家 地区代码分类的范围按国家 地区在排除列表中创建 为此我有两张桌子 IP地址范围 国家代码 我需要知道的是 如果此数据返回到客户端然后缓存以供快速查询
  • 如何在后台状态下获取来电/去电事件

    在我的一个应用程序中 它具有我成功实现的播放声音的功能 即使当应用程序正在运行 前台状态 并且我们收到来电时 应用程序音乐也会停止并在呼叫断开时再次恢复 现在真正的问题就在这里 当应用程序进入后台状态时 我们不会收到任何来电 去电事件 在后
  • 改进 Retina iPad 上的缓慢画布动画 - KineticJS

    我正在使用 KineticJS 执行 HTML Canvas 动画 动画可以在所有桌面浏览器和非视网膜 iDevices 包括 iPad mini 上完美运行 但是 从视网膜设备 浏览器或使用 appcelerator 的应用内 Web 视
  • 这个打印样式表如何工作?

    我真的很喜欢如何http www honorshaven com 看起来是打印出来的 pdf 我浏览了源代码 试图弄清楚他们是如何做到的 我的导航总是在打印时变成丑陋的项目符号列表 我不知所措 有人知道吗 任何帮助都是极好的 谢谢 马丁 编
  • 获取所有模型类型

    如何获取属于模型一部分的实体类型列表 以便我可以测试模型是否确实适用于该实体类型 var dcx new MyDbContext var lst new List