Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用实体框架查询具有动态列的表?_C#_.net_Entity Framework 6 - Fatal编程技术网

C# 如何使用实体框架查询具有动态列的表?

C# 如何使用实体框架查询具有动态列的表?,c#,.net,entity-framework-6,C#,.net,Entity Framework 6,我有一个名为Tags的表,当用户创建标记时,会在其中添加一个新列(列的名称将是用户提供的标记名)。此外,当用户编辑标记名时,将重命名该列 我知道我的应用程序存在设计缺陷。但我只是想知道我们应该如何为这样一个表创建一个模型?是否有任何方法可以使用Entity Framework在这样的表中执行CRUD操作?除了它是一个非常奇怪的设计之外,解决方案非常简单-只需执行原始SQL查询,并进行手动映射。查询示例: string studentName = ctx.Database

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


我知道我的应用程序存在设计缺陷。但我只是想知道我们应该如何为这样一个表创建一个模型?是否有任何方法可以使用Entity Framework在这样的表中执行CRUD操作?

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

    string studentName = ctx.Database
           .SqlQuery<string>("Select tag1 from Posts where postId=@id", new SqlParameter("@id", 1))
           .FirstOrDefault();
string studentName=ctx.Database
.SqlQuery(“从postId=@id的帖子中选择tag1”,新的SqlParameter(“@id”,1))
.FirstOrDefault();

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

我认为如果您为每个条目添加列,则存在一些设计缺陷。为什么不创建一个单列表并为每个标记添加一条新记录?那你就不会遇到这个问题了。我试过了。它起作用了。我想这是唯一简单的出路。