我有很多网站都在渲染无效字符.页面的元标记指定UTF-8编码.但是,许多页面包含UTF-8无法解释的字符,可能是因为文件是使用其他编码(例如ANSI)保存的.特别是我现在关注的那个是一个花哨的撇号(如" 鲍勃的 "......如果没有正确显示那就对不起).W3的验证器指示实体是" \ x92 ",但它不会验证文件,因为它不映射到unicode.当然,如果我在Notepad ++中打开文件并将编码更改为UTF-8,则该字符将被黑框中的92替换.
这是我的问题:解决这个问题的最简单方法是什么?我是否必须打开所有页面并用常规撇号替换该字符?或者是否可以添加(例如,IIS)可能会覆盖或修复编码问题的快速修复?或者我是否需要强力查找/替换?我在这些网站上有数百个页面,我不知道有多少页面需要更改,所以如果有人知道一种方法我可以绕过这个问题或快速修复它我会很感激.
我有一个用户模型:
public class User
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
它通过 Fluent API 添加到我的数据上下文中:
public class UserMapping : IEntityTypeConfiguration<User>
{
public void Configure(EntityTypeBuilder<User> builder)
{
builder.HasKey(u => u.Id);
builder.Property(u => u.FirstName).HasMaxLength(25).IsRequired();
builder.Property(u => u.LastName).HasMaxLength(25).IsRequired();
builder.Property(u => u.Email).HasMaxLength(50).IsRequired();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望能够在一个操作的上下文之外验证它,我可以简单地检查ModelState.IsValid,如下所示:
var results = new List<ValidationResult>();
Validator.TryValidateObject(user, new ValidationContext(user), results, true);
Run Code Online (Sandbox Code Playgroud)
验证器有没有办法使用 中的规则IEntityTypeConfiguration?谢谢。
我有2个模型,其中一个模型具有另一个模型的子集合:
[Table("ParentTable")]
public class Parent
{
[Key, Column("Parent")]
public string Id { get; set; }
[Column("ParentName")]
public string Name { get; set; }
public virtual ICollection<Widget> Widgets { get; set; }
}
[Table("WidgetTable")]
public class Widget
{
public string Year { get; set; }
[Column("Parent")]
public string ParentId { get; set; }
public string Comments { get; set; }
[Key, Column("ID_Widget")]
public int Id { get; set; }
[ForeignKey("ParentId"), JsonIgnore]
public virtual Parent Parent { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
此代码适用于99%以上的小部件: …