gpt4 book ai didi

c# - Entity Framework : Passing String Parameter to FromSql Statement in Version 2. 2

转载 作者:行者123 更新时间:2023-12-04 00:18:25 24 4
gpt4 key购买 nike

我正在尝试将字符串参数传递给 SQL 查询,接收错误如下。我该如何解决这个问题?目前正在使用答案 EF Core 2.2, Passing String Parameter to FromSql Statement

Input String was not in a correct format.

public async Task<IEnumerable<Product>> GetProduct(string productKey)
{
var productParameter = new SqlParameter("@productKey", SqlDbType.VarChar);
productParameter.Value = productKey;

var productIdList = db.TestDb
.FromSql($"select ProductId from dbo.Product product" +
" (where product.ProductKey = {productParameter})" )
.Select(c => c.ProductId).ToList();

它是来自 ProductKey 的 varchar(6) 类型

使用 Net Core 2.2

最佳答案

如果您使用的是 FromSql,您应该像这样构建代码以正确应用 SqlParameter:

var productIdList = db.TestDb
.FromSql($"select ProductId from dbo.Product product where product.ProductKey = @productKey",productParameter )
.Select(c => c.ProductId).ToList();

根据您使用的 EF 版本,您也可以使用 FromSqlInterpolated而不是 FromSql 并取消 SqlParameter altoghter。

关于c# - Entity Framework : Passing String Parameter to FromSql Statement in Version 2. 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62459727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com