我想为模型添加更多验证消息注释(这里的所有模型都是由数据库首先生成的),所以我确实在此链接https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/database-first-development/enhancing-data-validation的帮助下使用了元数据。没有模型更新,但构建失败并显示警告:
错误6046:无法生成商店功能的函数导入返回类型' fn_diagramobjects'。
错误CS1061'帐户'不包含' ConfirmPassword'的定义并且没有延期方法' ConfirmPassword'接受第一个类型' Account'可以找到(你是否缺少using指令或程序集引用?)project-asp-mvc D:.NET demo \ Project \ project-asp-mvc \ Controllers \ UserController.cs 85 Active
这是我从数据库生成的模型:
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace project_asp_mvc.Models
{
public class AccountMetadata
{
[Required]
[StringLength(50, ErrorMessage = "Username con not be longer than 50")]
[EmailAddress]
public string username { get; set; }
[Required]
[DataType(DataType.Password)]
public string password { get; set; }
[Required]
[NotMapped]
[DataType(DataType.Password)]
[Compare("Password", ErrorMessage = "Please confirm your password again")]
public string ConfirmPassword { get; set; }
}
}
Metadata.cs :
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace project_asp_mvc.Models
{
[MetadataType(typeof(AccountMetadata))]
public partial class Account
{
}
}
PartialClasses.cs
public class PacketService {
private static PacketService instance;
private PacketService(){}
public static PacketService newInstance(){
if(instance == null) {
instance = new PacketService();
}
return instance;
}
public <T extends Packet> T handlePacket(Class<T> clazz, JSONObject data){
return (T) clazz.newInstance().fromJson(data);
}
}
答案 0 :(得分:0)
这些代码行来自AccountMetadata类。
[Required]
[NotMapped]
[DataType(DataType.Password)]
[Compare("Password", ErrorMessage = "Please confirm your password again")]
public string ConfirmPassword { get; set; }
您似乎已将注释添加到不会在帐户类中退出的媒体资源中。 我建议你删除这些行,然后再试一次。