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