首页 > 解决方案 > 如何使用实体框架查询具有动态列的表?

问题描述

我有一个名为的表Tags,其中在用户创建标签时添加了一个新列(列的名称将是用户提供的标签名称)。此外,当用户编辑标签名称时,该列会被重命名。

我知道我的应用程序存在设计缺陷。但是只是想知道我们应该如何为这样的表创建模型?有什么方法可以使用实体框架在此类表中执行 CRUD 操作?

标签: c#.netentity-framework-6

解决方案


除了这是一个非常奇怪的设计之外,解决方案非常简单 - 只需执行原始 SQL 查询,并进行手动映射。示例查询:

    string studentName = ctx.Database
           .SqlQuery<string>("Select tag1 from Posts where postId=@id", new SqlParameter("@id", 1))
           .FirstOrDefault();

您可以使用原始查询处理的所有 CRUD 操作。


推荐阅读