c# - 如何获得输入错误而不是较小的输入字符串?
问题描述
让我指出,我上周开始学习 .NET / C# 是因为一个新的实习,而且我太新了,我还没有完全理解代码。对我来说,事情似乎比 Python/PHP/Javascript 复杂得多。
我目前正在做这个教程:https ://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/complex-data-model?view=aspnetcore-3.1
本教程告诉我将 [StringLength(50)] 添加到我的代码中:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace ContosoUniversity.Models
{
public class Student
{
public int ID { get; set; }
[StringLength(50)]
public string LastName { get; set; }
[StringLength(50)]
public string FirstMidName { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime EnrollmentDate { get; set; }
public ICollection<Enrollment> Enrollments { get; set; }
}
}
然后在命令提示符下运行以下命令:
dotnet ef migrations add MaxLengthOnNames
dotnet ef database update
这样做之后,它说我应该运行应用程序并尝试创建一个超过 50 个字符的新学生,它应该阻止我这样做。它不会阻止我输入 50 个字符,而是将输入缩短为 50 个字符。我通常会想到一个 if 语句来检查输入是否超过 50 个字符。但是我坚持指南,但我得到了意想不到的结果。
我在这里做错了吗?
任何帮助表示赞赏。
解决方案
推荐阅读
- java - 如何自行部署 Spring Boot 应用程序
- c - 数组如何绕过其声明的长度
- android - 如何修复 Epson Android SDK 中的“未找到实现方法名称”?
- docker - kubernetes deployment notification to slack channel using webhook
- r - 合并包含具有相同结构的列表的列表
- html - 如何在整个正文中添加自定义文本选择
- java - 在另一个 java 项目中创建一个 maven 项目
- android - 有没有什么特殊的方式来实现 admob 广告?
- google-cloud-platform - 阻止 traefik 入口回复 IP 请求
- android - 使用带有实时数据和不使用实时数据的视图模型之间的区别