c# - 实体框架中需要的十进制字段
问题描述
我有一个带有 asp.net mvc c# 的简单应用程序,我首先使用 EF 代码。
我有一个类“学生”,它具有十进制类型的属性和其他类型的 int。我不明白为什么没有任何数据注释的小数属性不会为空?
另一个问题是,当我运行我的应用程序时,具有小数属性的文本框检索值 170,6 但是当我提交它时,它显示一个错误,指出 170,6 不是有效值,我必须更改它到 170.6 才能提交。
public class Student
{
public int StudentID { get; set; }
public string StudentName { get; set; }
public DateTime? DateOfBirth { get; set; }
public byte[] Photo { get; set; }
public decimal Height { get; set; }
public int Weight { get; set; }
public int changement { get; set; }
public Grade Grade { get; set; }
}
public class Grade
{
public int GradeId { get; set; }
public string GradeName { get; set; }
public string Section { get; set; }
public ICollection<Student> Students { get; set; }
}
解决方案
我不明白为什么没有任何数据注释的小数属性不会为空
decimal
在 C# 中是值类型。它根本不可能null
。例如int
, double
, DateTime
.
170,6 不是有效值,我必须将其更改为 170.6 才能提交。
这是文化/语言环境的常见问题。我正在寻找关于此主题的一个很好的重复问题,以提供有关如何解决此问题的有用链接。
这有点棘手,因为 MVC 必须生成将在客户端允许提交的验证代码,并且客户端可以配置为另一种文化。
编辑:你可以看看这个问题,它被接受了答案: MVC/JQuery 验证不接受逗号作为小数分隔符
推荐阅读
- python - 如何让我的 Discord 机器人在特定 mp3 文件的时间长度内停留在语音频道中?
- php - Composer 无法从供应商目录中的存储库中找到类
- c++ - 用于初始化指向实例化模板友元函数的指针的 C++ 语法
- python - 从 Pandas DataFrame 返回 NaN 值的相关矩阵
- python - 找不到满足 flask-restfull 要求的版本(来自版本:)
- git - --assume-unchanged 文件在同步时会发生什么?
- python - 遍历列表在 Python 中的行为如何?
- r - 在 R 中安装 devtools 时的依赖性问题
- spring - Spring JdbcTemplate 更新 Postgis 地理专栏
- ios - NSObject 在加载 viewDidLoad() 之前似乎没有初始化