【发布时间】:2019-08-05 04:16:58
【问题描述】:
我在 MVC 中采用代码优先方法来生成表。我试图使我的 Employee 类的主键成为 uint 以防止负值,但显然,我总是遇到异常。是否有用于 int 类型的装饰代码以防止负数或允许 uint 作为主键的解决方法?
public class Employee
{
[Key]
[Column(Order = 0)]
public uint EmployeeId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public decimal Salary { get; set; }
}
【问题讨论】:
-
有什么例外?
-
您的问题与 MVC 或 Web 无关。
-
uint应该是可能的,但不建议这样做。只需使用int。 -
如果您想要比
int更高的精度,请使用long而不是uint。 -
许多 SQL 数据库不支持无符号整数。例如,SQL Server 将只使用
long来“支持”uint。使用int并确保它在您的域代码中不是负数。此外,请考虑仅使用Id。它在Employee类中,因此它已经暗示Id是员工ID。
标签: c# entity-framework code-first uint