c# - Azure SQL C# 后端查询浮点导致“内部服务器错误”
问题描述
我为你们准备了一个漂亮的集市,我只是想不通,甚至无法理解。我过去创建了一些 Azure 数据库,我相信这是我使用 .NET 后端的第二个数据库。除了浮点变量外,我似乎所有东西都正确拉/插入。
精简类客户端:
class MealItem
{
public string ID { get; set; }
public string Name { get; set; }
public float Price { get; set; }
}
精简类后端:
public class MealItem : EntityData
{
public string Name { get; set; }
public float Price { get; set; }
}
在服务器端,Price 列(和该类的其他浮点数)设置为数据类型“float”,允许使用空值。
我正在使用同步表,因此运行此行会显示错误:
await client.GetSyncTable<MealItem>().PullAsync("All", client.GetSyncTable<MealItem>().CreateQuery(),
CancellationToken.None);
我也试过这个:
await client.GetTable<MealItem>().ToListAsync();
当我在客户端和后端注释掉浮点变量时,一切正常。我在这个上花了很多时间,但似乎无法弄清楚。任何想法将不胜感激!谢谢!
解决方案
该错误与将数据插入表时发生的从 varchar 到 float 数据类型的转换失败有关。您必须先验证“价格”数据,然后才能将其插入表中。如果 TRY_CONVERT 返回 NULL,则您无法插入该记录,因为价格值无效。
推荐阅读
- c++ - 从 wcin 输入重音字符
- volttron - Volttron volttron.platform.vip.agent.core 错误
- assembly - 如何从标签返回到循环?| 塔斯马
- python - 从 discord.py 中的 sqlite 删除频道 ID
- amazon-dynamodb - LocalSecondaryIndex 使用 dynamodb 增强客户端
- playwright - 有关失败测试的更多信息?
- javascript - 在 Firebase 中验证 GET 请求(+ express 后端)?
- powershell - 跳过 Set-ADUser 脚本的空 CSV 单元格
- typescript - 如何引用您在 TS 中键入的对象的类型?
- java - spring security 一直重定向到它的默认登录页面