首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FormattableString c#实现EF核的动态ColumnName

使用FormattableString c#实现EF核的动态ColumnName
EN

Stack Overflow用户
提问于 2021-09-07 18:54:34
回答 1查看 115关注 0票数 0

有没有一种方法可以用带有动态列名的FormattableString编写原始SQL?

代码语言:javascript
复制
FormattableString query = @$"UPDATE table1 SET {dynamicColumnName} = {dynamicColumnName} + 1";

这里的问题是它不起作用,我在

代码语言:javascript
复制
Database.ExecuteSqlInterpolatedAsync(query);

我认为EF核心以一种将插值视为参数的方式对待FormattableString,导致每个{dynamicColumnName}@p0,@p1

有没有办法解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-11-03 12:48:12

ExecuteSqlInterpolatedAsync旨在通过插值传递参数,而不是列名。因此,这种情况下的简单解决方案不是使用ExecuteSqlInterpolatedAsync

代码语言:javascript
复制
string query = @$"UPDATE table1 SET {dynamicColumnName} = {dynamicColumnName} + 1";
Database.ExecuteSqlRawAsync(query);

这会导致在执行查询之前将列名插入到字符串中,因此不会将其用作参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69093286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档